@daikin-oss/design-system-web-components 1.0.0 → 1.2.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 (512) hide show
  1. package/CHANGELOG.md +127 -0
  2. package/LICENSE +1 -1
  3. package/dist/cjs/base/dds-element.cjs +1 -1
  4. package/dist/cjs/base/dds-form-element.cjs +139 -0
  5. package/dist/cjs/base/dds-form-element.d.cts +100 -0
  6. package/dist/cjs/components/accordion-item/daikin-accordion-item.cjs +6 -3
  7. package/dist/cjs/components/avatar/daikin-avatar.cjs +160 -0
  8. package/dist/cjs/components/avatar/daikin-avatar.d.cts +67 -0
  9. package/dist/cjs/components/avatar/index.cjs +7 -0
  10. package/dist/cjs/components/avatar/index.d.cts +1 -0
  11. package/dist/cjs/components/breadcrumb-item/daikin-breadcrumb-item.cjs +2 -0
  12. package/dist/cjs/components/button/daikin-button.cjs +35 -13
  13. package/dist/cjs/components/button/daikin-button.d.cts +20 -10
  14. package/dist/cjs/components/calendar/daikin-calendar.cjs +547 -0
  15. package/dist/cjs/components/calendar/daikin-calendar.d.cts +87 -0
  16. package/dist/cjs/components/calendar/index.cjs +7 -0
  17. package/dist/cjs/components/calendar/index.d.cts +1 -0
  18. package/dist/cjs/components/card/daikin-card.cjs +1 -1
  19. package/dist/cjs/components/checkbox/daikin-checkbox.cjs +13 -16
  20. package/dist/cjs/components/checkbox/daikin-checkbox.d.cts +13 -12
  21. package/dist/cjs/components/checkbox-group/daikin-checkbox-group.cjs +94 -0
  22. package/dist/cjs/components/checkbox-group/daikin-checkbox-group.d.cts +69 -0
  23. package/dist/cjs/components/checkbox-group/index.cjs +7 -0
  24. package/dist/cjs/components/checkbox-group/index.d.cts +1 -0
  25. package/dist/cjs/components/date-picker/daikin-date-picker.cjs +611 -0
  26. package/dist/cjs/components/date-picker/daikin-date-picker.d.cts +105 -0
  27. package/dist/cjs/components/date-picker/index.cjs +7 -0
  28. package/dist/cjs/components/date-picker/index.d.cts +1 -0
  29. package/dist/cjs/components/dropdown/daikin-dropdown.cjs +181 -86
  30. package/dist/cjs/components/dropdown/daikin-dropdown.d.cts +48 -18
  31. package/dist/cjs/components/dropdown-item/daikin-dropdown-item.cjs +97 -36
  32. package/dist/cjs/components/dropdown-item/daikin-dropdown-item.d.cts +6 -1
  33. package/dist/cjs/components/icon/icons.json.cjs +1 -1
  34. package/dist/cjs/components/icon/icons.json.d.cts +30 -14
  35. package/dist/cjs/components/icon-button/daikin-icon-button.cjs +18 -2
  36. package/dist/cjs/components/icon-button/daikin-icon-button.d.cts +12 -2
  37. package/dist/cjs/components/index.cjs +55 -0
  38. package/dist/cjs/components/index.d.cts +11 -0
  39. package/dist/cjs/components/inline-notification/daikin-inline-notification.cjs +13 -18
  40. package/dist/cjs/components/inline-notification/daikin-inline-notification.d.cts +3 -1
  41. package/dist/cjs/components/input-group/daikin-input-group.cjs +4 -4
  42. package/dist/cjs/components/input-group/daikin-input-group.d.cts +22 -0
  43. package/dist/cjs/components/list/daikin-list.cjs +75 -3
  44. package/dist/cjs/components/list/daikin-list.d.cts +16 -0
  45. package/dist/cjs/components/list-item/daikin-list-item.cjs +25 -5
  46. package/dist/cjs/components/list-item/daikin-list-item.d.cts +9 -3
  47. package/dist/cjs/components/loading/daikin-loading.cjs +91 -0
  48. package/dist/cjs/components/loading/daikin-loading.d.cts +33 -0
  49. package/dist/cjs/components/loading/index.cjs +7 -0
  50. package/dist/cjs/components/loading/index.d.cts +1 -0
  51. package/dist/cjs/components/logo/daikin-logo.cjs +105 -0
  52. package/dist/cjs/components/logo/daikin-logo.d.cts +54 -0
  53. package/dist/cjs/components/logo/index.cjs +7 -0
  54. package/dist/cjs/components/logo/index.d.cts +1 -0
  55. package/dist/cjs/components/menu/daikin-menu.cjs +205 -0
  56. package/dist/cjs/components/menu/daikin-menu.d.cts +89 -0
  57. package/dist/cjs/components/menu/index.cjs +7 -0
  58. package/dist/cjs/components/menu/index.d.cts +1 -0
  59. package/dist/cjs/components/modal/daikin-modal.cjs +115 -0
  60. package/dist/cjs/components/modal/daikin-modal.d.cts +61 -0
  61. package/dist/cjs/components/modal/index.cjs +7 -0
  62. package/dist/cjs/components/modal/index.d.cts +1 -0
  63. package/dist/cjs/components/modal-footer/daikin-modal-footer.cjs +40 -0
  64. package/dist/cjs/components/modal-footer/daikin-modal-footer.d.cts +33 -0
  65. package/dist/cjs/components/modal-footer/index.cjs +7 -0
  66. package/dist/cjs/components/modal-footer/index.d.cts +1 -0
  67. package/dist/cjs/components/modal-header/daikin-modal-header.cjs +96 -0
  68. package/dist/cjs/components/modal-header/daikin-modal-header.d.cts +43 -0
  69. package/dist/cjs/components/modal-header/index.cjs +7 -0
  70. package/dist/cjs/components/modal-header/index.d.cts +1 -0
  71. package/dist/cjs/components/progress-bar/daikin-progress-bar.cjs +2 -2
  72. package/dist/cjs/components/progress-indicator-item/daikin-progress-indicator-item.cjs +1 -1
  73. package/dist/cjs/components/radio/daikin-radio.cjs +4 -13
  74. package/dist/cjs/components/radio/daikin-radio.d.cts +2 -12
  75. package/dist/cjs/components/radio-group/daikin-radio-group.cjs +1 -1
  76. package/dist/cjs/components/radio-group/daikin-radio-group.d.cts +2 -1
  77. package/dist/cjs/components/slider/daikin-slider.cjs +263 -0
  78. package/dist/cjs/components/slider/daikin-slider.d.cts +67 -0
  79. package/dist/cjs/components/slider/index.cjs +7 -0
  80. package/dist/cjs/components/slider/index.d.cts +1 -0
  81. package/dist/cjs/components/slider/slider-utils.cjs +57 -0
  82. package/dist/cjs/components/slider/slider-utils.d.cts +37 -0
  83. package/dist/cjs/components/table/daikin-table.cjs +42 -4
  84. package/dist/cjs/components/table/daikin-table.d.cts +5 -0
  85. package/dist/cjs/components/table-cell/daikin-table-cell.cjs +2 -1
  86. package/dist/cjs/components/table-cell/daikin-table-cell.d.cts +1 -1
  87. package/dist/cjs/components/table-header-cell/daikin-table-header-cell.d.cts +1 -1
  88. package/dist/cjs/components/tabs/daikin-tabs.cjs +2 -2
  89. package/dist/cjs/components/text-area/daikin-text-area.cjs +4 -13
  90. package/dist/cjs/components/text-area/daikin-text-area.d.cts +2 -12
  91. package/dist/cjs/components/text-field/daikin-text-field.cjs +149 -52
  92. package/dist/cjs/components/text-field/daikin-text-field.d.cts +28 -18
  93. package/dist/cjs/components/toast-notification/daikin-toast-notification.cjs +10 -7
  94. package/dist/cjs/components/toast-notification/daikin-toast-notification.d.cts +2 -0
  95. package/dist/cjs/components/toast-notification-manager/daikin-toast-notification-manager.cjs +1 -1
  96. package/dist/cjs/components/toast-notification-manager/daikin-toast-notification-manager.d.cts +1 -1
  97. package/dist/cjs/components/toggle/daikin-toggle.cjs +4 -13
  98. package/dist/cjs/components/toggle/daikin-toggle.d.cts +2 -12
  99. package/dist/cjs/components/tooltip/daikin-tooltip.cjs +12 -6
  100. package/dist/cjs/components/tooltip/daikin-tooltip.d.cts +3 -2
  101. package/dist/cjs/components/tree-section/daikin-tree-section.d.cts +2 -0
  102. package/dist/cjs/controllers/click-outside.cjs +3 -1
  103. package/dist/cjs/controllers/focus-trap.cjs +42 -0
  104. package/dist/cjs/controllers/focus-trap.d.cts +10 -0
  105. package/dist/cjs/index.cjs +55 -0
  106. package/dist/cjs/tailwind.css.cjs +1 -1
  107. package/dist/cjs/utils/calendar-common.cjs +151 -0
  108. package/dist/cjs/utils/calendar-common.d.cts +64 -0
  109. package/dist/cjs/utils/is-similar-to-click.cjs +4 -0
  110. package/dist/cjs/utils/is-similar-to-click.d.cts +1 -0
  111. package/dist/cjs/utils/notification-common.cjs +19 -15
  112. package/dist/cjs/utils/notification-common.d.cts +1 -1
  113. package/dist/cjs/{components/tabs → utils}/scroller.cjs +20 -12
  114. package/dist/cjs/{components/tabs → utils}/scroller.d.cts +2 -2
  115. package/dist/cjs-dev/base/dds-element.cjs +1 -1
  116. package/dist/cjs-dev/base/dds-form-element.cjs +139 -0
  117. package/dist/cjs-dev/base/dds-form-element.d.cts +100 -0
  118. package/dist/cjs-dev/components/accordion-item/daikin-accordion-item.cjs +6 -3
  119. package/dist/cjs-dev/components/avatar/daikin-avatar.cjs +160 -0
  120. package/dist/cjs-dev/components/avatar/daikin-avatar.d.cts +67 -0
  121. package/dist/cjs-dev/components/avatar/index.cjs +7 -0
  122. package/dist/cjs-dev/components/avatar/index.d.cts +1 -0
  123. package/dist/cjs-dev/components/breadcrumb-item/daikin-breadcrumb-item.cjs +2 -0
  124. package/dist/cjs-dev/components/button/daikin-button.cjs +35 -13
  125. package/dist/cjs-dev/components/button/daikin-button.d.cts +20 -10
  126. package/dist/cjs-dev/components/calendar/daikin-calendar.cjs +558 -0
  127. package/dist/cjs-dev/components/calendar/daikin-calendar.d.cts +87 -0
  128. package/dist/cjs-dev/components/calendar/index.cjs +7 -0
  129. package/dist/cjs-dev/components/calendar/index.d.cts +1 -0
  130. package/dist/cjs-dev/components/card/daikin-card.cjs +1 -1
  131. package/dist/cjs-dev/components/checkbox/daikin-checkbox.cjs +13 -16
  132. package/dist/cjs-dev/components/checkbox/daikin-checkbox.d.cts +13 -12
  133. package/dist/cjs-dev/components/checkbox-group/daikin-checkbox-group.cjs +94 -0
  134. package/dist/cjs-dev/components/checkbox-group/daikin-checkbox-group.d.cts +69 -0
  135. package/dist/cjs-dev/components/checkbox-group/index.cjs +7 -0
  136. package/dist/cjs-dev/components/checkbox-group/index.d.cts +1 -0
  137. package/dist/cjs-dev/components/date-picker/daikin-date-picker.cjs +622 -0
  138. package/dist/cjs-dev/components/date-picker/daikin-date-picker.d.cts +105 -0
  139. package/dist/cjs-dev/components/date-picker/index.cjs +7 -0
  140. package/dist/cjs-dev/components/date-picker/index.d.cts +1 -0
  141. package/dist/cjs-dev/components/dropdown/daikin-dropdown.cjs +181 -86
  142. package/dist/cjs-dev/components/dropdown/daikin-dropdown.d.cts +48 -18
  143. package/dist/cjs-dev/components/dropdown-item/daikin-dropdown-item.cjs +97 -36
  144. package/dist/cjs-dev/components/dropdown-item/daikin-dropdown-item.d.cts +6 -1
  145. package/dist/cjs-dev/components/icon/icons.json.cjs +1 -1
  146. package/dist/cjs-dev/components/icon/icons.json.d.cts +30 -14
  147. package/dist/cjs-dev/components/icon-button/daikin-icon-button.cjs +18 -2
  148. package/dist/cjs-dev/components/icon-button/daikin-icon-button.d.cts +12 -2
  149. package/dist/cjs-dev/components/index.cjs +55 -0
  150. package/dist/cjs-dev/components/index.d.cts +11 -0
  151. package/dist/cjs-dev/components/inline-notification/daikin-inline-notification.cjs +13 -18
  152. package/dist/cjs-dev/components/inline-notification/daikin-inline-notification.d.cts +3 -1
  153. package/dist/cjs-dev/components/input-group/daikin-input-group.cjs +4 -4
  154. package/dist/cjs-dev/components/input-group/daikin-input-group.d.cts +22 -0
  155. package/dist/cjs-dev/components/list/daikin-list.cjs +75 -3
  156. package/dist/cjs-dev/components/list/daikin-list.d.cts +16 -0
  157. package/dist/cjs-dev/components/list-item/daikin-list-item.cjs +25 -5
  158. package/dist/cjs-dev/components/list-item/daikin-list-item.d.cts +9 -3
  159. package/dist/cjs-dev/components/loading/daikin-loading.cjs +91 -0
  160. package/dist/cjs-dev/components/loading/daikin-loading.d.cts +33 -0
  161. package/dist/cjs-dev/components/loading/index.cjs +7 -0
  162. package/dist/cjs-dev/components/loading/index.d.cts +1 -0
  163. package/dist/cjs-dev/components/logo/daikin-logo.cjs +105 -0
  164. package/dist/cjs-dev/components/logo/daikin-logo.d.cts +54 -0
  165. package/dist/cjs-dev/components/logo/index.cjs +7 -0
  166. package/dist/cjs-dev/components/logo/index.d.cts +1 -0
  167. package/dist/cjs-dev/components/menu/daikin-menu.cjs +205 -0
  168. package/dist/cjs-dev/components/menu/daikin-menu.d.cts +89 -0
  169. package/dist/cjs-dev/components/menu/index.cjs +7 -0
  170. package/dist/cjs-dev/components/menu/index.d.cts +1 -0
  171. package/dist/cjs-dev/components/modal/daikin-modal.cjs +115 -0
  172. package/dist/cjs-dev/components/modal/daikin-modal.d.cts +61 -0
  173. package/dist/cjs-dev/components/modal/index.cjs +7 -0
  174. package/dist/cjs-dev/components/modal/index.d.cts +1 -0
  175. package/dist/cjs-dev/components/modal-footer/daikin-modal-footer.cjs +40 -0
  176. package/dist/cjs-dev/components/modal-footer/daikin-modal-footer.d.cts +33 -0
  177. package/dist/cjs-dev/components/modal-footer/index.cjs +7 -0
  178. package/dist/cjs-dev/components/modal-footer/index.d.cts +1 -0
  179. package/dist/cjs-dev/components/modal-header/daikin-modal-header.cjs +96 -0
  180. package/dist/cjs-dev/components/modal-header/daikin-modal-header.d.cts +43 -0
  181. package/dist/cjs-dev/components/modal-header/index.cjs +7 -0
  182. package/dist/cjs-dev/components/modal-header/index.d.cts +1 -0
  183. package/dist/cjs-dev/components/progress-bar/daikin-progress-bar.cjs +2 -2
  184. package/dist/cjs-dev/components/progress-indicator-item/daikin-progress-indicator-item.cjs +1 -1
  185. package/dist/cjs-dev/components/radio/daikin-radio.cjs +4 -13
  186. package/dist/cjs-dev/components/radio/daikin-radio.d.cts +2 -12
  187. package/dist/cjs-dev/components/radio-group/daikin-radio-group.cjs +1 -1
  188. package/dist/cjs-dev/components/radio-group/daikin-radio-group.d.cts +2 -1
  189. package/dist/cjs-dev/components/slider/daikin-slider.cjs +263 -0
  190. package/dist/cjs-dev/components/slider/daikin-slider.d.cts +67 -0
  191. package/dist/cjs-dev/components/slider/index.cjs +7 -0
  192. package/dist/cjs-dev/components/slider/index.d.cts +1 -0
  193. package/dist/cjs-dev/components/slider/slider-utils.cjs +57 -0
  194. package/dist/cjs-dev/components/slider/slider-utils.d.cts +37 -0
  195. package/dist/cjs-dev/components/table/daikin-table.cjs +42 -4
  196. package/dist/cjs-dev/components/table/daikin-table.d.cts +5 -0
  197. package/dist/cjs-dev/components/table-cell/daikin-table-cell.cjs +2 -1
  198. package/dist/cjs-dev/components/table-cell/daikin-table-cell.d.cts +1 -1
  199. package/dist/cjs-dev/components/table-header-cell/daikin-table-header-cell.d.cts +1 -1
  200. package/dist/cjs-dev/components/tabs/daikin-tabs.cjs +2 -2
  201. package/dist/cjs-dev/components/text-area/daikin-text-area.cjs +4 -13
  202. package/dist/cjs-dev/components/text-area/daikin-text-area.d.cts +2 -12
  203. package/dist/cjs-dev/components/text-field/daikin-text-field.cjs +149 -52
  204. package/dist/cjs-dev/components/text-field/daikin-text-field.d.cts +28 -18
  205. package/dist/cjs-dev/components/toast-notification/daikin-toast-notification.cjs +10 -7
  206. package/dist/cjs-dev/components/toast-notification/daikin-toast-notification.d.cts +2 -0
  207. package/dist/cjs-dev/components/toast-notification-manager/daikin-toast-notification-manager.cjs +1 -1
  208. package/dist/cjs-dev/components/toast-notification-manager/daikin-toast-notification-manager.d.cts +1 -1
  209. package/dist/cjs-dev/components/toggle/daikin-toggle.cjs +4 -13
  210. package/dist/cjs-dev/components/toggle/daikin-toggle.d.cts +2 -12
  211. package/dist/cjs-dev/components/tooltip/daikin-tooltip.cjs +12 -6
  212. package/dist/cjs-dev/components/tooltip/daikin-tooltip.d.cts +3 -2
  213. package/dist/cjs-dev/components/tree-section/daikin-tree-section.d.cts +2 -0
  214. package/dist/cjs-dev/controllers/click-outside.cjs +3 -1
  215. package/dist/cjs-dev/controllers/focus-trap.cjs +42 -0
  216. package/dist/cjs-dev/controllers/focus-trap.d.cts +10 -0
  217. package/dist/cjs-dev/index.cjs +55 -0
  218. package/dist/cjs-dev/tailwind.css.cjs +1 -1
  219. package/dist/cjs-dev/utils/calendar-common.cjs +151 -0
  220. package/dist/cjs-dev/utils/calendar-common.d.cts +64 -0
  221. package/dist/cjs-dev/utils/is-similar-to-click.cjs +4 -0
  222. package/dist/cjs-dev/utils/is-similar-to-click.d.cts +1 -0
  223. package/dist/cjs-dev/utils/notification-common.cjs +19 -15
  224. package/dist/cjs-dev/utils/notification-common.d.cts +1 -1
  225. package/dist/cjs-dev/{components/tabs → utils}/scroller.cjs +20 -12
  226. package/dist/cjs-dev/{components/tabs → utils}/scroller.d.cts +2 -2
  227. package/dist/es/base/dds-element.js +1 -1
  228. package/dist/es/base/dds-form-element.d.ts +100 -0
  229. package/dist/es/base/dds-form-element.js +139 -0
  230. package/dist/es/components/accordion/daikin-accordion.js +1 -1
  231. package/dist/es/components/accordion-item/daikin-accordion-item.js +7 -4
  232. package/dist/es/components/avatar/daikin-avatar.d.ts +67 -0
  233. package/dist/es/components/avatar/daikin-avatar.js +161 -0
  234. package/dist/es/components/avatar/index.d.ts +1 -0
  235. package/dist/es/components/avatar/index.js +4 -0
  236. package/dist/es/components/breadcrumb/daikin-breadcrumb.js +1 -1
  237. package/dist/es/components/breadcrumb-item/daikin-breadcrumb-item.js +3 -1
  238. package/dist/es/components/button/daikin-button.d.ts +20 -10
  239. package/dist/es/components/button/daikin-button.js +36 -14
  240. package/dist/es/components/calendar/daikin-calendar.d.ts +87 -0
  241. package/dist/es/components/calendar/daikin-calendar.js +548 -0
  242. package/dist/es/components/calendar/index.d.ts +1 -0
  243. package/dist/es/components/calendar/index.js +4 -0
  244. package/dist/es/components/card/daikin-card.js +2 -2
  245. package/dist/es/components/card-footer/daikin-card-footer.js +1 -1
  246. package/dist/es/components/card-header/daikin-card-header.js +1 -1
  247. package/dist/es/components/carousel/daikin-carousel.js +1 -1
  248. package/dist/es/components/carousel-item/daikin-carousel-item.js +1 -1
  249. package/dist/es/components/checkbox/daikin-checkbox.d.ts +13 -12
  250. package/dist/es/components/checkbox/daikin-checkbox.js +14 -17
  251. package/dist/es/components/checkbox-group/daikin-checkbox-group.d.ts +69 -0
  252. package/dist/es/components/checkbox-group/daikin-checkbox-group.js +95 -0
  253. package/dist/es/components/checkbox-group/index.d.ts +1 -0
  254. package/dist/es/components/checkbox-group/index.js +4 -0
  255. package/dist/es/components/date-picker/daikin-date-picker.d.ts +105 -0
  256. package/dist/es/components/date-picker/daikin-date-picker.js +612 -0
  257. package/dist/es/components/date-picker/index.d.ts +1 -0
  258. package/dist/es/components/date-picker/index.js +4 -0
  259. package/dist/es/components/dropdown/daikin-dropdown.d.ts +48 -18
  260. package/dist/es/components/dropdown/daikin-dropdown.js +182 -87
  261. package/dist/es/components/dropdown-item/daikin-dropdown-item.d.ts +6 -1
  262. package/dist/es/components/dropdown-item/daikin-dropdown-item.js +98 -37
  263. package/dist/es/components/icon/daikin-icon.js +1 -1
  264. package/dist/es/components/icon/icons.json.d.ts +30 -14
  265. package/dist/es/components/icon/icons.json.js +1 -1
  266. package/dist/es/components/icon-button/daikin-icon-button.d.ts +12 -2
  267. package/dist/es/components/icon-button/daikin-icon-button.js +19 -3
  268. package/dist/es/components/index.d.ts +11 -0
  269. package/dist/es/components/index.js +22 -0
  270. package/dist/es/components/inline-notification/daikin-inline-notification.d.ts +3 -1
  271. package/dist/es/components/inline-notification/daikin-inline-notification.js +14 -19
  272. package/dist/es/components/input-group/daikin-input-group.d.ts +22 -0
  273. package/dist/es/components/input-group/daikin-input-group.js +5 -5
  274. package/dist/es/components/link/daikin-link.js +1 -1
  275. package/dist/es/components/list/daikin-list.d.ts +16 -0
  276. package/dist/es/components/list/daikin-list.js +76 -4
  277. package/dist/es/components/list-item/daikin-list-item.d.ts +9 -3
  278. package/dist/es/components/list-item/daikin-list-item.js +26 -6
  279. package/dist/es/components/loading/daikin-loading.d.ts +33 -0
  280. package/dist/es/components/loading/daikin-loading.js +92 -0
  281. package/dist/es/components/loading/index.d.ts +1 -0
  282. package/dist/es/components/loading/index.js +4 -0
  283. package/dist/es/components/logo/daikin-logo.d.ts +54 -0
  284. package/dist/es/components/logo/daikin-logo.js +106 -0
  285. package/dist/es/components/logo/index.d.ts +1 -0
  286. package/dist/es/components/logo/index.js +4 -0
  287. package/dist/es/components/menu/daikin-menu.d.ts +89 -0
  288. package/dist/es/components/menu/daikin-menu.js +206 -0
  289. package/dist/es/components/menu/index.d.ts +1 -0
  290. package/dist/es/components/menu/index.js +4 -0
  291. package/dist/es/components/modal/daikin-modal.d.ts +61 -0
  292. package/dist/es/components/modal/daikin-modal.js +116 -0
  293. package/dist/es/components/modal/index.d.ts +1 -0
  294. package/dist/es/components/modal/index.js +4 -0
  295. package/dist/es/components/modal-footer/daikin-modal-footer.d.ts +33 -0
  296. package/dist/es/components/modal-footer/daikin-modal-footer.js +41 -0
  297. package/dist/es/components/modal-footer/index.d.ts +1 -0
  298. package/dist/es/components/modal-footer/index.js +4 -0
  299. package/dist/es/components/modal-header/daikin-modal-header.d.ts +43 -0
  300. package/dist/es/components/modal-header/daikin-modal-header.js +97 -0
  301. package/dist/es/components/modal-header/index.d.ts +1 -0
  302. package/dist/es/components/modal-header/index.js +4 -0
  303. package/dist/es/components/pagination/daikin-pagination.js +1 -1
  304. package/dist/es/components/progress-bar/daikin-progress-bar.js +3 -3
  305. package/dist/es/components/progress-indicator/daikin-progress-indicator.js +1 -1
  306. package/dist/es/components/progress-indicator-item/daikin-progress-indicator-item.js +2 -2
  307. package/dist/es/components/radio/daikin-radio.d.ts +2 -12
  308. package/dist/es/components/radio/daikin-radio.js +5 -14
  309. package/dist/es/components/radio-group/daikin-radio-group.d.ts +2 -1
  310. package/dist/es/components/radio-group/daikin-radio-group.js +2 -2
  311. package/dist/es/components/select/daikin-select.js +1 -1
  312. package/dist/es/components/slider/daikin-slider.d.ts +67 -0
  313. package/dist/es/components/slider/daikin-slider.js +264 -0
  314. package/dist/es/components/slider/index.d.ts +1 -0
  315. package/dist/es/components/slider/index.js +4 -0
  316. package/dist/es/components/slider/slider-utils.d.ts +37 -0
  317. package/dist/es/components/slider/slider-utils.js +57 -0
  318. package/dist/es/components/tab/daikin-tab.js +1 -1
  319. package/dist/es/components/tab-panels/daikin-tab-panels.js +1 -1
  320. package/dist/es/components/table/daikin-table.d.ts +5 -0
  321. package/dist/es/components/table/daikin-table.js +43 -5
  322. package/dist/es/components/table-cell/daikin-table-cell.d.ts +1 -1
  323. package/dist/es/components/table-cell/daikin-table-cell.js +3 -2
  324. package/dist/es/components/table-header-cell/daikin-table-header-cell.d.ts +1 -1
  325. package/dist/es/components/table-header-cell/daikin-table-header-cell.js +1 -1
  326. package/dist/es/components/tabs/daikin-tabs.js +3 -3
  327. package/dist/es/components/text-area/daikin-text-area.d.ts +2 -12
  328. package/dist/es/components/text-area/daikin-text-area.js +5 -14
  329. package/dist/es/components/text-field/daikin-text-field.d.ts +28 -18
  330. package/dist/es/components/text-field/daikin-text-field.js +150 -53
  331. package/dist/es/components/toast-notification/daikin-toast-notification.d.ts +2 -0
  332. package/dist/es/components/toast-notification/daikin-toast-notification.js +11 -8
  333. package/dist/es/components/toast-notification-manager/daikin-toast-notification-manager.d.ts +1 -1
  334. package/dist/es/components/toast-notification-manager/daikin-toast-notification-manager.js +2 -2
  335. package/dist/es/components/toggle/daikin-toggle.d.ts +2 -12
  336. package/dist/es/components/toggle/daikin-toggle.js +5 -14
  337. package/dist/es/components/tooltip/daikin-tooltip.d.ts +3 -2
  338. package/dist/es/components/tooltip/daikin-tooltip.js +13 -7
  339. package/dist/es/components/tree/daikin-tree.js +1 -1
  340. package/dist/es/components/tree-item/daikin-tree-item.js +1 -1
  341. package/dist/es/components/tree-section/daikin-tree-section.d.ts +2 -0
  342. package/dist/es/components/tree-section/daikin-tree-section.js +1 -1
  343. package/dist/es/controllers/click-outside.js +3 -1
  344. package/dist/es/controllers/focus-trap.d.ts +10 -0
  345. package/dist/es/controllers/focus-trap.js +42 -0
  346. package/dist/es/index.js +22 -0
  347. package/dist/es/tailwind.css.js +1 -1
  348. package/dist/es/utils/calendar-common.d.ts +64 -0
  349. package/dist/es/utils/calendar-common.js +151 -0
  350. package/dist/es/utils/is-similar-to-click.d.ts +1 -0
  351. package/dist/es/utils/is-similar-to-click.js +4 -0
  352. package/dist/es/utils/notification-common.d.ts +1 -1
  353. package/dist/es/utils/notification-common.js +19 -15
  354. package/dist/es/{components/tabs → utils}/scroller.d.ts +2 -2
  355. package/dist/es/{components/tabs → utils}/scroller.js +20 -12
  356. package/dist/es-dev/base/dds-element.js +1 -1
  357. package/dist/es-dev/base/dds-form-element.d.ts +100 -0
  358. package/dist/es-dev/base/dds-form-element.js +139 -0
  359. package/dist/es-dev/components/accordion/daikin-accordion.js +1 -1
  360. package/dist/es-dev/components/accordion-item/daikin-accordion-item.js +7 -4
  361. package/dist/es-dev/components/avatar/daikin-avatar.d.ts +67 -0
  362. package/dist/es-dev/components/avatar/daikin-avatar.js +161 -0
  363. package/dist/es-dev/components/avatar/index.d.ts +1 -0
  364. package/dist/es-dev/components/avatar/index.js +4 -0
  365. package/dist/es-dev/components/breadcrumb/daikin-breadcrumb.js +1 -1
  366. package/dist/es-dev/components/breadcrumb-item/daikin-breadcrumb-item.js +3 -1
  367. package/dist/es-dev/components/button/daikin-button.d.ts +20 -10
  368. package/dist/es-dev/components/button/daikin-button.js +36 -14
  369. package/dist/es-dev/components/calendar/daikin-calendar.d.ts +87 -0
  370. package/dist/es-dev/components/calendar/daikin-calendar.js +559 -0
  371. package/dist/es-dev/components/calendar/index.d.ts +1 -0
  372. package/dist/es-dev/components/calendar/index.js +4 -0
  373. package/dist/es-dev/components/card/daikin-card.js +2 -2
  374. package/dist/es-dev/components/card-footer/daikin-card-footer.js +1 -1
  375. package/dist/es-dev/components/card-header/daikin-card-header.js +1 -1
  376. package/dist/es-dev/components/carousel/daikin-carousel.js +1 -1
  377. package/dist/es-dev/components/carousel-item/daikin-carousel-item.js +1 -1
  378. package/dist/es-dev/components/checkbox/daikin-checkbox.d.ts +13 -12
  379. package/dist/es-dev/components/checkbox/daikin-checkbox.js +14 -17
  380. package/dist/es-dev/components/checkbox-group/daikin-checkbox-group.d.ts +69 -0
  381. package/dist/es-dev/components/checkbox-group/daikin-checkbox-group.js +95 -0
  382. package/dist/es-dev/components/checkbox-group/index.d.ts +1 -0
  383. package/dist/es-dev/components/checkbox-group/index.js +4 -0
  384. package/dist/es-dev/components/date-picker/daikin-date-picker.d.ts +105 -0
  385. package/dist/es-dev/components/date-picker/daikin-date-picker.js +623 -0
  386. package/dist/es-dev/components/date-picker/index.d.ts +1 -0
  387. package/dist/es-dev/components/date-picker/index.js +4 -0
  388. package/dist/es-dev/components/dropdown/daikin-dropdown.d.ts +48 -18
  389. package/dist/es-dev/components/dropdown/daikin-dropdown.js +182 -87
  390. package/dist/es-dev/components/dropdown-item/daikin-dropdown-item.d.ts +6 -1
  391. package/dist/es-dev/components/dropdown-item/daikin-dropdown-item.js +98 -37
  392. package/dist/es-dev/components/icon/daikin-icon.js +1 -1
  393. package/dist/es-dev/components/icon/icons.json.d.ts +30 -14
  394. package/dist/es-dev/components/icon/icons.json.js +1 -1
  395. package/dist/es-dev/components/icon-button/daikin-icon-button.d.ts +12 -2
  396. package/dist/es-dev/components/icon-button/daikin-icon-button.js +19 -3
  397. package/dist/es-dev/components/index.d.ts +11 -0
  398. package/dist/es-dev/components/index.js +22 -0
  399. package/dist/es-dev/components/inline-notification/daikin-inline-notification.d.ts +3 -1
  400. package/dist/es-dev/components/inline-notification/daikin-inline-notification.js +14 -19
  401. package/dist/es-dev/components/input-group/daikin-input-group.d.ts +22 -0
  402. package/dist/es-dev/components/input-group/daikin-input-group.js +5 -5
  403. package/dist/es-dev/components/link/daikin-link.js +1 -1
  404. package/dist/es-dev/components/list/daikin-list.d.ts +16 -0
  405. package/dist/es-dev/components/list/daikin-list.js +76 -4
  406. package/dist/es-dev/components/list-item/daikin-list-item.d.ts +9 -3
  407. package/dist/es-dev/components/list-item/daikin-list-item.js +26 -6
  408. package/dist/es-dev/components/loading/daikin-loading.d.ts +33 -0
  409. package/dist/es-dev/components/loading/daikin-loading.js +92 -0
  410. package/dist/es-dev/components/loading/index.d.ts +1 -0
  411. package/dist/es-dev/components/loading/index.js +4 -0
  412. package/dist/es-dev/components/logo/daikin-logo.d.ts +54 -0
  413. package/dist/es-dev/components/logo/daikin-logo.js +106 -0
  414. package/dist/es-dev/components/logo/index.d.ts +1 -0
  415. package/dist/es-dev/components/logo/index.js +4 -0
  416. package/dist/es-dev/components/menu/daikin-menu.d.ts +89 -0
  417. package/dist/es-dev/components/menu/daikin-menu.js +206 -0
  418. package/dist/es-dev/components/menu/index.d.ts +1 -0
  419. package/dist/es-dev/components/menu/index.js +4 -0
  420. package/dist/es-dev/components/modal/daikin-modal.d.ts +61 -0
  421. package/dist/es-dev/components/modal/daikin-modal.js +116 -0
  422. package/dist/es-dev/components/modal/index.d.ts +1 -0
  423. package/dist/es-dev/components/modal/index.js +4 -0
  424. package/dist/es-dev/components/modal-footer/daikin-modal-footer.d.ts +33 -0
  425. package/dist/es-dev/components/modal-footer/daikin-modal-footer.js +41 -0
  426. package/dist/es-dev/components/modal-footer/index.d.ts +1 -0
  427. package/dist/es-dev/components/modal-footer/index.js +4 -0
  428. package/dist/es-dev/components/modal-header/daikin-modal-header.d.ts +43 -0
  429. package/dist/es-dev/components/modal-header/daikin-modal-header.js +97 -0
  430. package/dist/es-dev/components/modal-header/index.d.ts +1 -0
  431. package/dist/es-dev/components/modal-header/index.js +4 -0
  432. package/dist/es-dev/components/pagination/daikin-pagination.js +1 -1
  433. package/dist/es-dev/components/progress-bar/daikin-progress-bar.js +3 -3
  434. package/dist/es-dev/components/progress-indicator/daikin-progress-indicator.js +1 -1
  435. package/dist/es-dev/components/progress-indicator-item/daikin-progress-indicator-item.js +2 -2
  436. package/dist/es-dev/components/radio/daikin-radio.d.ts +2 -12
  437. package/dist/es-dev/components/radio/daikin-radio.js +5 -14
  438. package/dist/es-dev/components/radio-group/daikin-radio-group.d.ts +2 -1
  439. package/dist/es-dev/components/radio-group/daikin-radio-group.js +2 -2
  440. package/dist/es-dev/components/select/daikin-select.js +1 -1
  441. package/dist/es-dev/components/slider/daikin-slider.d.ts +67 -0
  442. package/dist/es-dev/components/slider/daikin-slider.js +264 -0
  443. package/dist/es-dev/components/slider/index.d.ts +1 -0
  444. package/dist/es-dev/components/slider/index.js +4 -0
  445. package/dist/es-dev/components/slider/slider-utils.d.ts +37 -0
  446. package/dist/es-dev/components/slider/slider-utils.js +57 -0
  447. package/dist/es-dev/components/tab/daikin-tab.js +1 -1
  448. package/dist/es-dev/components/tab-panels/daikin-tab-panels.js +1 -1
  449. package/dist/es-dev/components/table/daikin-table.d.ts +5 -0
  450. package/dist/es-dev/components/table/daikin-table.js +43 -5
  451. package/dist/es-dev/components/table-cell/daikin-table-cell.d.ts +1 -1
  452. package/dist/es-dev/components/table-cell/daikin-table-cell.js +3 -2
  453. package/dist/es-dev/components/table-header-cell/daikin-table-header-cell.d.ts +1 -1
  454. package/dist/es-dev/components/table-header-cell/daikin-table-header-cell.js +1 -1
  455. package/dist/es-dev/components/tabs/daikin-tabs.js +3 -3
  456. package/dist/es-dev/components/text-area/daikin-text-area.d.ts +2 -12
  457. package/dist/es-dev/components/text-area/daikin-text-area.js +5 -14
  458. package/dist/es-dev/components/text-field/daikin-text-field.d.ts +28 -18
  459. package/dist/es-dev/components/text-field/daikin-text-field.js +150 -53
  460. package/dist/es-dev/components/toast-notification/daikin-toast-notification.d.ts +2 -0
  461. package/dist/es-dev/components/toast-notification/daikin-toast-notification.js +11 -8
  462. package/dist/es-dev/components/toast-notification-manager/daikin-toast-notification-manager.d.ts +1 -1
  463. package/dist/es-dev/components/toast-notification-manager/daikin-toast-notification-manager.js +2 -2
  464. package/dist/es-dev/components/toggle/daikin-toggle.d.ts +2 -12
  465. package/dist/es-dev/components/toggle/daikin-toggle.js +5 -14
  466. package/dist/es-dev/components/tooltip/daikin-tooltip.d.ts +3 -2
  467. package/dist/es-dev/components/tooltip/daikin-tooltip.js +13 -7
  468. package/dist/es-dev/components/tree/daikin-tree.js +1 -1
  469. package/dist/es-dev/components/tree-item/daikin-tree-item.js +1 -1
  470. package/dist/es-dev/components/tree-section/daikin-tree-section.d.ts +2 -0
  471. package/dist/es-dev/components/tree-section/daikin-tree-section.js +1 -1
  472. package/dist/es-dev/controllers/click-outside.js +3 -1
  473. package/dist/es-dev/controllers/focus-trap.d.ts +10 -0
  474. package/dist/es-dev/controllers/focus-trap.js +42 -0
  475. package/dist/es-dev/index.js +22 -0
  476. package/dist/es-dev/tailwind.css.js +1 -1
  477. package/dist/es-dev/utils/calendar-common.d.ts +64 -0
  478. package/dist/es-dev/utils/calendar-common.js +151 -0
  479. package/dist/es-dev/utils/is-similar-to-click.d.ts +1 -0
  480. package/dist/es-dev/utils/is-similar-to-click.js +4 -0
  481. package/dist/es-dev/utils/notification-common.d.ts +1 -1
  482. package/dist/es-dev/utils/notification-common.js +19 -15
  483. package/dist/es-dev/{components/tabs → utils}/scroller.d.ts +2 -2
  484. package/dist/es-dev/{components/tabs → utils}/scroller.js +20 -12
  485. package/icons/alarm.svg +3 -0
  486. package/icons/calendar.svg +3 -0
  487. package/icons/chevron-down.svg +3 -3
  488. package/icons/chevron-left.svg +2 -2
  489. package/icons/chevron-right.svg +2 -2
  490. package/icons/chevron-up.svg +2 -2
  491. package/icons/close.svg +3 -0
  492. package/icons/dropdown-chevron-down.svg +3 -3
  493. package/icons/error.svg +3 -0
  494. package/icons/information.svg +3 -0
  495. package/icons/logo-negative.svg +10 -0
  496. package/icons/logo-positive.svg +10 -0
  497. package/icons/password-hidden.svg +3 -0
  498. package/icons/password-visible.svg +3 -0
  499. package/icons/profile.svg +4 -0
  500. package/icons/pulldown-down.svg +3 -0
  501. package/icons/search.svg +3 -0
  502. package/icons/success.svg +3 -0
  503. package/icons/warning.svg +3 -0
  504. package/package.json +7 -3
  505. package/icons/cross.svg +0 -3
  506. package/icons/notification-close.svg +0 -5
  507. package/icons/status-alarm.svg +0 -5
  508. package/icons/status-error.svg +0 -3
  509. package/icons/status-information.svg +0 -5
  510. package/icons/status-negative.svg +0 -5
  511. package/icons/status-positive.svg +0 -5
  512. package/icons/status-warning.svg +0 -3
@@ -0,0 +1,105 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { DDSFormElement } from "../../base/dds-form-element.cjs";
3
+ import { DaikinInputGroup } from "../input-group/daikin-input-group.cjs";
4
+ /**
5
+ * The date picker component provides a date selection function that can be combined with forms. This component uses `daikin-calendar` internally (users do not need to nest this).
6
+ *
7
+ * @fires select - Fires when the date is selected.
8
+ *
9
+ * @example
10
+ *
11
+ * ```js
12
+ * import "@daikin-oss/design-system-web-components/components/date-picker/index.js";
13
+ * ```
14
+ *
15
+ * ```html
16
+ * <daikin-date-picker></daikin-date-picker>
17
+ * ```
18
+ */
19
+ export declare class DaikinDatePicker extends DDSFormElement {
20
+ static readonly styles: import('lit').CSSResult;
21
+ /**
22
+ * The placeholder text.
23
+ */
24
+ placeholder: string | null;
25
+ /**
26
+ * The minimum date.
27
+ * example: `1900-01-01`
28
+ */
29
+ min: string;
30
+ /**
31
+ * The maximum date.
32
+ * example: `2099-12-31`
33
+ */
34
+ max: string;
35
+ /**
36
+ * Whether the text field is readonly.
37
+ */
38
+ readonly: boolean;
39
+ /**
40
+ * Whether the text field is disabled.
41
+ * Controlled by `daikin-input-group` when used within `daikin-input-group`.
42
+ */
43
+ disabled: boolean;
44
+ /**
45
+ * Whether the text field is required.
46
+ * Controlled by `daikin-input-group` when used within `daikin-input-group`.
47
+ */
48
+ required: boolean;
49
+ /**
50
+ * Whether or not to display error states.
51
+ * Ignored if the `disabled` is `true`.
52
+ * Controlled by `daikin-input-group` when used within `daikin-input-group`.
53
+ */
54
+ error: boolean;
55
+ /**
56
+ * Whether the date picker is open.
57
+ */
58
+ open: boolean;
59
+ /**
60
+ * The month that is initially displayed when the date picker is opened.
61
+ * If there is a `value` attribute, this is ignored.
62
+ */
63
+ defaultValue: string | null;
64
+ /**
65
+ * The label text used as the value of aria-label.
66
+ * Set automatically by `reflectInputGroup` method.
67
+ */
68
+ private _label;
69
+ private _currentSelection;
70
+ private _autoUpdateController;
71
+ private _dateInputElement;
72
+ private _calendarElement;
73
+ private get _value();
74
+ private get _min();
75
+ private get _max();
76
+ private get _defaultValue();
77
+ private get _viewDate();
78
+ private get _open();
79
+ private _openCalendar;
80
+ private _emitSelect;
81
+ private _handleFocusIn;
82
+ private _handleFocusOut;
83
+ private _handleChange;
84
+ private _handleMouseUp;
85
+ private _handleKeyDown;
86
+ private _handleBeforeInput;
87
+ private _handleSelect;
88
+ private _handleToggle;
89
+ private _updateValue;
90
+ private _updateInputSelection;
91
+ private _updateSelection;
92
+ render(): import('lit-html').TemplateResult<1>;
93
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
94
+ protected updated(changedProperties: PropertyValues<this>): void;
95
+ /**
96
+ * This method is used by `daikin-input-group` to reflect it's attributes to this component.
97
+ * @private
98
+ */
99
+ reflectInputGroup(inputGroup: DaikinInputGroup): void;
100
+ }
101
+ declare global {
102
+ interface HTMLElementTagNameMap {
103
+ "daikin-date-picker": DaikinDatePicker;
104
+ }
105
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const daikinDatePicker = require("./daikin-date-picker.cjs");
4
+ Object.defineProperty(exports, "DaikinDatePicker", {
5
+ enumerable: true,
6
+ get: () => daikinDatePicker.DaikinDatePicker
7
+ });
@@ -0,0 +1 @@
1
+ export * from "./daikin-date-picker.cjs";
@@ -5,12 +5,16 @@ const classVarianceAuthority = require("class-variance-authority");
5
5
  const lit = require("lit");
6
6
  const decorators_js = require("lit/decorators.js");
7
7
  const ifDefined_js = require("lit/directives/if-defined.js");
8
- const ddsElement = require("../../base/dds-element.cjs");
8
+ const ref_js = require("lit/directives/ref.js");
9
+ require("../../base/dds-element.cjs");
9
10
  const decorators = require("../../base/decorators.cjs");
10
11
  require("../../base/define.cjs");
12
+ const ddsFormElement = require("../../base/dds-form-element.cjs");
11
13
  const clickOutside = require("../../controllers/click-outside.cjs");
12
14
  const floatingUiAutoUpdate = require("../../controllers/floating-ui-auto-update.cjs");
13
15
  const tailwind = require("../../tailwind.css.cjs");
16
+ const isSimpleKey = require("../../utils/is-simple-key.cjs");
17
+ require("../dropdown-item/daikin-dropdown-item.cjs");
14
18
  var __defProp = Object.defineProperty;
15
19
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
16
20
  var __decorateClass = (decorators2, target, key, kind) => {
@@ -24,36 +28,35 @@ var __decorateClass = (decorators2, target, key, kind) => {
24
28
  const cvaButton = classVarianceAuthority.cva(
25
29
  [
26
30
  "flex",
31
+ "justify-between",
27
32
  "items-center",
28
33
  "gap-2",
29
34
  "w-full",
30
35
  "h-full",
31
36
  "min-h-12",
32
37
  "bg-ddt-color-common-background-default",
33
- "p-3",
34
- "border",
35
- "border-[--color-base]",
38
+ "py-3",
39
+ "pl-4",
40
+ "pr-3",
36
41
  "rounded",
37
42
  "overflow-hidden",
38
43
  "font-daikinSerif",
39
44
  "text-left",
40
- "leading-5",
45
+ "leading-[130%]",
41
46
  "relative",
42
47
  "outline",
43
- "outline-0",
44
- "-outline-offset-2",
48
+ "outline-1",
49
+ "-outline-offset-1",
50
+ "break-all",
45
51
  "focus-visible:outline-2",
46
- "focus-visible:outline-[--color-focus]",
52
+ "focus-visible:-outline-offset-2",
53
+ "enabled:outline-[--color-base]",
47
54
  "disabled:text-ddt-color-common-disabled",
48
- "disabled:border-ddt-color-common-disabled",
55
+ "disabled:outline-ddt-color-common-disabled",
49
56
  "after:i-daikin-dropdown-chevron-down",
50
- "after:w-6",
51
- "after:h-6",
52
- "after:absolute",
53
- "after:m-auto",
54
- "after:top-0",
55
- "after:bottom-0",
56
- "after:right-3",
57
+ "after:size-6",
58
+ "after:flex-none",
59
+ "after:ml-auto",
57
60
  "enabled:after:text-ddt-color-common-text-primary",
58
61
  "disabled:after:text-ddt-color-common-disabled"
59
62
  ],
@@ -64,17 +67,19 @@ const cvaButton = classVarianceAuthority.cva(
64
67
  "enabled:hover:bg-ddt-color-common-surface-hover",
65
68
  "enabled:active:bg-ddt-color-common-surface-press"
66
69
  ],
67
- true: ["enabled:bg-ddt-color-common-surface-press"]
70
+ true: [
71
+ "enabled:bg-ddt-color-common-surface-press",
72
+ "after:scale-y-[-1]"
73
+ ]
68
74
  },
69
75
  error: {
70
76
  false: [
71
77
  "var-color-ddt-color-common-neutral-default/color-base",
72
- "var-color-ddt-color-common-border-focus/color-focus"
78
+ "hover:var-color-ddt-color-common-neutral-hover/color-base",
79
+ "active:var-color-ddt-color-common-neutral-press/color-base",
80
+ "focus-visible:var-color-ddt-color-common-border-focus/color-base"
73
81
  ],
74
- true: [
75
- "var-color-ddt-color-common-danger-default/color-base",
76
- "var-color-ddt-color-common-danger-default/color-focus"
77
- ]
82
+ true: ["var-color-ddt-color-common-danger-default/color-base"]
78
83
  },
79
84
  placeholder: {
80
85
  false: ["text-ddt-color-common-text-primary"],
@@ -98,47 +103,39 @@ const floatingPositionOptions = {
98
103
  })
99
104
  ]
100
105
  };
101
- exports.DaikinDropdown = class DaikinDropdown extends ddsElement.DDSElement {
106
+ exports.DaikinDropdown = class DaikinDropdown extends ddsFormElement.DDSFormElement {
102
107
  constructor() {
103
108
  super(...arguments);
104
- this._internals = this.attachInternals();
105
- this.value = null;
106
109
  this.placeholder = "";
107
110
  this.disabled = false;
108
111
  this.required = false;
109
112
  this.error = false;
110
113
  this.open = false;
114
+ this.multiple = false;
115
+ this.selectedOptions = [];
116
+ this.maxLabels = null;
111
117
  this._label = null;
112
- this._hasSelectedItem = false;
113
- this._selectedItemLabel = "";
118
+ this._initialUpdateCompleted = false;
114
119
  this._autoUpdateController = new floatingUiAutoUpdate.FloatingUIAutoUpdateController(this);
115
120
  this._clickOutsideController = new clickOutside.ClickOutsideController(
116
121
  this,
117
122
  this._onClickOutside
118
123
  );
119
124
  this._lastFocusedItem = null;
125
+ this._dropdownRef = ref_js.createRef();
120
126
  }
121
- _updateFormValue() {
122
- this._internals.setFormValue(this.value);
127
+ get _selectionLabels() {
128
+ const items = this._items;
129
+ return this.selectedOptions.map(
130
+ (value) => {
131
+ var _a;
132
+ return ((_a = items.find((item) => item.value === value)) == null ? void 0 : _a.textContent) ?? "";
133
+ }
134
+ );
123
135
  }
124
136
  _onClickOutside() {
125
137
  this.open = false;
126
138
  }
127
- _reflectItemsAndLabel() {
128
- const items = this._items;
129
- const selectedItem = items.find((item) => item.value === this.value);
130
- for (const item of items) {
131
- item.selected = item === selectedItem;
132
- }
133
- this._hasSelectedItem = !!selectedItem;
134
- this._selectedItemLabel = (selectedItem == null ? void 0 : selectedItem.textContent) ?? "";
135
- }
136
- _handleClick() {
137
- if (this.disabled) {
138
- return;
139
- }
140
- this.open = !this.open;
141
- }
142
139
  _searchItem(prefix) {
143
140
  const items = this._items.filter(
144
141
  (item) => {
@@ -160,35 +157,88 @@ exports.DaikinDropdown = class DaikinDropdown extends ddsElement.DDSElement {
160
157
  this.open = true;
161
158
  }
162
159
  }
163
- _handleKeyDownEscape() {
164
- if (this.open) {
165
- this.open = false;
166
- } else {
167
- this.value = null;
168
- }
169
- }
170
160
  _moveFocus(moveOffset) {
171
161
  if (!this.open) {
172
162
  this.open = true;
173
163
  return;
174
164
  }
175
- const items = this._items;
165
+ const items = this._items.filter(({ disabled }) => !disabled);
176
166
  const activeElement = document.activeElement;
177
- const focusedItemIndex = activeElement ? items.findIndex((item) => item.contains(activeElement)) : -1;
167
+ const focusedItemIndex = activeElement ? items.findIndex((item2) => item2.contains(activeElement)) : -1;
178
168
  if (focusedItemIndex === -1) {
179
169
  moveOffset = 1;
180
170
  }
181
- for (let index = focusedItemIndex + moveOffset, i = 0; i < items.length; index += moveOffset, i++) {
182
- index = (index + items.length) % items.length;
183
- const item = items[index];
184
- if (item.disabled) {
185
- continue;
171
+ const item = items[Math.max(0, Math.min(focusedItemIndex + moveOffset, items.length - 1))];
172
+ item.focus();
173
+ }
174
+ _updateFormValue() {
175
+ this.setFormValue(this.value);
176
+ }
177
+ _updateItemsSelectable() {
178
+ for (const item of this._items) {
179
+ item.selectable = this.multiple;
180
+ }
181
+ }
182
+ _updateValueBySelectedOptions() {
183
+ this.value = this.selectedOptions.at(-1) ?? "";
184
+ }
185
+ _updateSelectedOptionsByValue() {
186
+ this.selectedOptions = this.value ? [this.value] : [];
187
+ }
188
+ /**
189
+ * Handling for when an option is selected.
190
+ * If multiple selection is enabled, the specified option is added to or removed from the array of selected options.
191
+ * If multiple selection is disabled, the current value is set to the specified option. The selection is not cleared.
192
+ *
193
+ * @param value The value of selected option.
194
+ */
195
+ _handleSelectOption(value) {
196
+ this.value = value;
197
+ this.selectedOptions = this.multiple ? this.selectedOptions.includes(value) ? this.selectedOptions.filter((option) => option != value) : [...this.selectedOptions, value] : [value];
198
+ }
199
+ _handleFocusOut(event) {
200
+ if (!event.relatedTarget) {
201
+ if (!this.multiple && this._lastFocusedItem) {
202
+ this._handleSelectOption(this._lastFocusedItem.value);
186
203
  }
187
- item.focus();
188
- break;
204
+ this.open = false;
189
205
  }
190
206
  }
207
+ /**
208
+ * Removes the last selected option.
209
+ *
210
+ * If multiple selection is enabled, remove the last selected option and the array will eventually become empty.
211
+ * If multiple selection is disabled, directly empty the selected options.
212
+ */
213
+ _removeLastSelection() {
214
+ if (this.multiple) {
215
+ this.selectedOptions = this.selectedOptions.slice(0, -1);
216
+ this.value = this.selectedOptions.at(-1) ?? "";
217
+ } else {
218
+ this.selectedOptions = [];
219
+ this.value = "";
220
+ }
221
+ }
222
+ _handleClick() {
223
+ if (this.disabled) {
224
+ return;
225
+ }
226
+ this.open = !this.open;
227
+ }
191
228
  _handleKeyDown(event) {
229
+ if (event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) {
230
+ if (event.key === "ArrowDown") {
231
+ event.preventDefault();
232
+ this.open = true;
233
+ } else if (event.key === "ArrowUp") {
234
+ event.preventDefault();
235
+ this.open = false;
236
+ }
237
+ return;
238
+ }
239
+ if (!isSimpleKey.isSimpleKeyEvent(event)) {
240
+ return;
241
+ }
192
242
  const printableCharacter = event.key.trim().length === 1 ? event.key : null;
193
243
  if (printableCharacter) {
194
244
  event.preventDefault();
@@ -198,6 +248,8 @@ exports.DaikinDropdown = class DaikinDropdown extends ddsElement.DDSElement {
198
248
  const operation = {
199
249
  ArrowDown: "down",
200
250
  ArrowUp: "up",
251
+ PageDown: "pageDown",
252
+ PageUp: "pageUp",
201
253
  Escape: "close"
202
254
  }[event.key];
203
255
  switch (operation) {
@@ -206,25 +258,23 @@ exports.DaikinDropdown = class DaikinDropdown extends ddsElement.DDSElement {
206
258
  event.preventDefault();
207
259
  this._moveFocus(operation === "up" ? -1 : 1);
208
260
  break;
261
+ case "pageDown":
262
+ case "pageUp":
263
+ event.preventDefault();
264
+ this._moveFocus(operation === "pageUp" ? -10 : 10);
265
+ break;
209
266
  case "close":
210
267
  event.preventDefault();
211
268
  this._handleKeyDownEscape();
212
269
  break;
213
270
  }
214
271
  }
215
- /**
216
- * Handle `select` event from `daikin-dropdown-item`.
217
- */
218
- _handleSelect(event) {
219
- const target = event.target;
220
- if (!target || !this._items.includes(target)) {
221
- return;
272
+ _handleKeyDownEscape() {
273
+ if (this.open) {
274
+ this.open = false;
275
+ } else {
276
+ this._removeLastSelection();
222
277
  }
223
- this._hasSelectedItem = true;
224
- this._selectedItemLabel = target.textContent ?? "";
225
- this.value = target.value;
226
- this.open = false;
227
- this.dispatchEvent(new Event("change"));
228
278
  }
229
279
  /**
230
280
  * Handle `focusin` event to remember last focused item.
@@ -246,14 +296,28 @@ exports.DaikinDropdown = class DaikinDropdown extends ddsElement.DDSElement {
246
296
  const item = items.find((item2) => item2 === this._lastFocusedItem) ?? items.find((item2) => item2.value === this.value) ?? items.at(0);
247
297
  item == null ? void 0 : item.focus();
248
298
  }
299
+ /**
300
+ * Handle `select` event from `daikin-dropdown-item`.
301
+ */
302
+ _handleSelect(event) {
303
+ this._handleSelectOption(event.target.value);
304
+ if (!this.multiple) {
305
+ this.open = false;
306
+ }
307
+ this.dispatchEvent(new Event("change"));
308
+ }
309
+ _handleSlotChange() {
310
+ this._updateItemsSelectable();
311
+ }
249
312
  render() {
250
313
  return lit.html`<div class="w-full relative" @keydown=${this._handleKeyDown}>
251
314
  <button
315
+ ${ref_js.ref(this._dropdownRef)}
252
316
  type="button"
253
317
  class=${cvaButton({
254
318
  open: this.open,
255
319
  error: this.error,
256
- placeholder: !this._hasSelectedItem
320
+ placeholder: !this.selectedOptions.length
257
321
  })}
258
322
  ?disabled=${this.disabled}
259
323
  role="combobox"
@@ -263,23 +327,28 @@ exports.DaikinDropdown = class DaikinDropdown extends ddsElement.DDSElement {
263
327
  aria-controls="dropdown-items"
264
328
  aria-autocomplete="list"
265
329
  aria-required=${this.required}
330
+ aria-haspopup="listbox"
266
331
  @click=${this._handleClick}
267
332
  ${this._autoUpdateController.refReference()}
268
333
  >
269
- ${this._hasSelectedItem ? this._selectedItemLabel : this.placeholder}
334
+ <span class="truncate">
335
+ ${this.selectedOptions.length ? this.multiple && this.selectedOptions.length > (this.maxLabels ?? 0) ? this.selectedOptions.length === 1 ? `one item selected` : `${this.selectedOptions.length} items selected` : this._selectionLabels.join(", ") : this.placeholder}
336
+ </span>
270
337
  </button>
271
338
  <div
272
339
  id="dropdown-items"
273
340
  popover
274
- class="floating-unready:hidden absolute left-[--floating-x,0] top-[--floating-y,0] min-w-[--floating-width] max-h-[12.5rem] overflow-y-auto opacity-1 transition-[opacity] rounded shadow-dropdown"
341
+ class="floating-unready:hidden absolute left-[--floating-x,0] top-[--floating-y,0] min-w-[--floating-width] max-h-[12.5rem] border border-ddt-color-divider overflow-y-auto opacity-1 transition-[opacity] rounded max-w-min break-all"
275
342
  aria-label=${ifDefined_js.ifDefined(this._label ?? void 0)}
276
343
  role="listbox"
277
344
  @floating-ready=${this._handleFloatingReady}
278
345
  ${this._autoUpdateController.refFloating()}
279
346
  >
280
347
  <slot
348
+ @slotchange=${this._handleSlotChange}
281
349
  @select=${this._handleSelect}
282
350
  @focusin=${this._handleFocusIn}
351
+ @focusout=${this._handleFocusOut}
283
352
  ></slot>
284
353
  </div>
285
354
  ${// Activate auto update only when the dropdown is open.
@@ -300,11 +369,29 @@ exports.DaikinDropdown = class DaikinDropdown extends ddsElement.DDSElement {
300
369
  var _a;
301
370
  (_a = this._button) == null ? void 0 : _a.focus(options);
302
371
  }
372
+ willUpdate(changedProperties) {
373
+ if (!this._initialUpdateCompleted) {
374
+ if (!!this.selectedOptions.length && (!this.value || !this.selectedOptions.includes(this.value))) {
375
+ this._updateValueBySelectedOptions();
376
+ } else if (!!this.value && !this.selectedOptions.length) {
377
+ this.selectedOptions = [this.value];
378
+ }
379
+ this._initialUpdateCompleted = true;
380
+ return;
381
+ }
382
+ const hasChangedValue = changedProperties.has("value");
383
+ const hasChangedSelectedOptions = changedProperties.has("selectedOptions");
384
+ if (hasChangedValue && !hasChangedSelectedOptions) {
385
+ this._updateSelectedOptionsByValue();
386
+ }
387
+ if (!hasChangedValue && hasChangedSelectedOptions) {
388
+ this._updateValueBySelectedOptions();
389
+ }
390
+ }
303
391
  updated(changedProperties) {
304
392
  var _a;
305
393
  if (changedProperties.has("value")) {
306
394
  this._updateFormValue();
307
- this._reflectItemsAndLabel();
308
395
  }
309
396
  if (changedProperties.has("open") || changedProperties.has("disabled")) {
310
397
  (_a = this._autoUpdateController.floatingElement) == null ? void 0 : _a.togglePopover(
@@ -314,6 +401,15 @@ exports.DaikinDropdown = class DaikinDropdown extends ddsElement.DDSElement {
314
401
  this.focus();
315
402
  }
316
403
  }
404
+ if (changedProperties.has("selectedOptions")) {
405
+ const items = this._items;
406
+ for (const item of items) {
407
+ item.selected = this.selectedOptions.includes(item.value);
408
+ }
409
+ }
410
+ if (changedProperties.has("multiple")) {
411
+ this._updateItemsSelectable();
412
+ }
317
413
  }
318
414
  /**
319
415
  * This method is used by `daikin-input-group` to reflect it's attributes to this component.
@@ -339,10 +435,6 @@ exports.DaikinDropdown.styles = lit.css`
339
435
  width: 100%;
340
436
  }
341
437
  `;
342
- exports.DaikinDropdown.formAssociated = true;
343
- __decorateClass([
344
- decorators_js.property({ type: String, reflect: true })
345
- ], exports.DaikinDropdown.prototype, "value", 2);
346
438
  __decorateClass([
347
439
  decorators_js.property({ type: String, reflect: true })
348
440
  ], exports.DaikinDropdown.prototype, "placeholder", 2);
@@ -358,6 +450,15 @@ __decorateClass([
358
450
  __decorateClass([
359
451
  decorators_js.property({ type: Boolean, reflect: true })
360
452
  ], exports.DaikinDropdown.prototype, "open", 2);
453
+ __decorateClass([
454
+ decorators_js.property({ type: Boolean, reflect: true })
455
+ ], exports.DaikinDropdown.prototype, "multiple", 2);
456
+ __decorateClass([
457
+ decorators_js.property({ type: Array, attribute: false })
458
+ ], exports.DaikinDropdown.prototype, "selectedOptions", 2);
459
+ __decorateClass([
460
+ decorators_js.property({ type: Number, reflect: true, attribute: "max-labels" })
461
+ ], exports.DaikinDropdown.prototype, "maxLabels", 2);
361
462
  __decorateClass([
362
463
  decorators_js.queryAssignedElements({ selector: "daikin-dropdown-item" })
363
464
  ], exports.DaikinDropdown.prototype, "_items", 2);
@@ -367,12 +468,6 @@ __decorateClass([
367
468
  __decorateClass([
368
469
  decorators_js.state()
369
470
  ], exports.DaikinDropdown.prototype, "_label", 2);
370
- __decorateClass([
371
- decorators_js.state()
372
- ], exports.DaikinDropdown.prototype, "_hasSelectedItem", 2);
373
- __decorateClass([
374
- decorators_js.state()
375
- ], exports.DaikinDropdown.prototype, "_selectedItemLabel", 2);
376
471
  exports.DaikinDropdown = __decorateClass([
377
472
  decorators.ddsElement("daikin-dropdown")
378
473
  ], exports.DaikinDropdown);
@@ -1,5 +1,5 @@
1
1
  import { PropertyValues } from 'lit';
2
- import { DDSElement } from "../../base/index.cjs";
2
+ import { DDSFormElement } from "../../base/dds-form-element.cjs";
3
3
  import { DaikinInputGroup } from "../input-group/index.cjs";
4
4
  /**
5
5
  * A dropdown list component.
@@ -27,15 +27,8 @@ import { DaikinInputGroup } from "../input-group/index.cjs";
27
27
  * </daikin-dropdown>
28
28
  * ```
29
29
  */
30
- export declare class DaikinDropdown extends DDSElement {
30
+ export declare class DaikinDropdown extends DDSFormElement {
31
31
  static readonly styles: import('lit').CSSResult;
32
- static readonly formAssociated = true;
33
- private _internals;
34
- /**
35
- * Form value of the dropdown.
36
- * `null` if not selected.
37
- */
38
- value: string | null;
39
32
  /**
40
33
  * Placeholder text of the dropdown.
41
34
  */
@@ -56,6 +49,22 @@ export declare class DaikinDropdown extends DDSElement {
56
49
  * Whether the dropdown menu is opened.
57
50
  */
58
51
  open: boolean;
52
+ /**
53
+ * Whether the dropdown menu is supports multiple selections.
54
+ */
55
+ multiple: boolean;
56
+ /**
57
+ * An array of `value` s for the currently selected option.
58
+ *
59
+ * This can be used regardless of the value of `multiple`, but if `multiple` is `true`, always use this instead of `value`.
60
+ * If `multiple` is `false`, the second and subsequent items will be deleted.
61
+ */
62
+ selectedOptions: string[];
63
+ /**
64
+ * Specifies the maximum number of items to display without omission in the label when `multiple` is `true`.
65
+ * Specify `null` to display all selected items without omission.
66
+ */
67
+ maxLabels: number | null;
59
68
  private readonly _items;
60
69
  private _button;
61
70
  /**
@@ -63,8 +72,8 @@ export declare class DaikinDropdown extends DDSElement {
63
72
  * Set automatically by `reflectInputGroup` method.
64
73
  */
65
74
  private _label;
66
- private _hasSelectedItem;
67
- private _selectedItemLabel;
75
+ private get _selectionLabels();
76
+ private _initialUpdateCompleted;
68
77
  private _autoUpdateController;
69
78
  private _clickOutsideController;
70
79
  /**
@@ -72,18 +81,33 @@ export declare class DaikinDropdown extends DDSElement {
72
81
  * The next time the dropdown opens, the focus will be moved to this element.
73
82
  */
74
83
  private _lastFocusedItem;
75
- private _updateFormValue;
84
+ private _dropdownRef;
76
85
  private _onClickOutside;
77
- private _reflectItemsAndLabel;
78
- private _handleClick;
79
86
  private _searchItem;
80
- private _handleKeyDownEscape;
81
87
  private _moveFocus;
82
- private _handleKeyDown;
88
+ private _updateFormValue;
89
+ private _updateItemsSelectable;
90
+ private _updateValueBySelectedOptions;
91
+ private _updateSelectedOptionsByValue;
83
92
  /**
84
- * Handle `select` event from `daikin-dropdown-item`.
93
+ * Handling for when an option is selected.
94
+ * If multiple selection is enabled, the specified option is added to or removed from the array of selected options.
95
+ * If multiple selection is disabled, the current value is set to the specified option. The selection is not cleared.
96
+ *
97
+ * @param value The value of selected option.
85
98
  */
86
- private _handleSelect;
99
+ private _handleSelectOption;
100
+ private _handleFocusOut;
101
+ /**
102
+ * Removes the last selected option.
103
+ *
104
+ * If multiple selection is enabled, remove the last selected option and the array will eventually become empty.
105
+ * If multiple selection is disabled, directly empty the selected options.
106
+ */
107
+ private _removeLastSelection;
108
+ private _handleClick;
109
+ private _handleKeyDown;
110
+ private _handleKeyDownEscape;
87
111
  /**
88
112
  * Handle `focusin` event to remember last focused item.
89
113
  */
@@ -94,12 +118,18 @@ export declare class DaikinDropdown extends DDSElement {
94
118
  * Since the focus cannot be moved until the element is displayed on the screen, the focus is moved to the item after receiving the completion of the Floating UI position calculation here.
95
119
  */
96
120
  private _handleFloatingReady;
121
+ /**
122
+ * Handle `select` event from `daikin-dropdown-item`.
123
+ */
124
+ private _handleSelect;
125
+ private _handleSlotChange;
97
126
  render(): import('lit-html').TemplateResult<1>;
98
127
  /**
99
128
  * Focuses on the inner button.
100
129
  * @param options focus options
101
130
  */
102
131
  focus(options?: FocusOptions): void;
132
+ protected willUpdate(changedProperties: PropertyValues): void;
103
133
  protected updated(changedProperties: PropertyValues<this>): void;
104
134
  /**
105
135
  * This method is used by `daikin-input-group` to reflect it's attributes to this component.