From dc7ea3c17db03209f2de1546b1b0e730f859f95a Mon Sep 17 00:00:00 2001 From: Jeremy Watt Date: Fri, 25 Oct 2024 13:06:51 -0700 Subject: [PATCH 1/5] draft multiselect added --- index.html | 614 +++++++++++++++++++++++++++++++------------- src/index.js | 3 +- src/multi_select.js | 34 +++ 3 files changed, 477 insertions(+), 174 deletions(-) create mode 100644 src/multi_select.js diff --git a/index.html b/index.html index 45f9848..4ce9f19 100644 --- a/index.html +++ b/index.html @@ -1,8 +1,8 @@ - - + + TailwindCSS Stimulus Components - +

Tailwind Stimulus Components Examples

- - View on Github -

To view examples locally, run npm install && npm run build && npx serve and then open localhost:3000 in your browser.

+ + View on Github +

+ To view examples locally, run + npm install && npm run build && npx serve + and then open localhost:3000 in + your browser. +

Alerts

-

Dropdowns

-

When open, you can navigate menu items with Up and Down keys.

+

+ When open, you can navigate menu items with Up and Down keys. +

- -

Modals

-

Modals use the <dialog> html element and can be closed with Esc or a button. See the dialog element MDN docs.

+

+ Modals use the <dialog> html element and can be closed with + Esc or a button. See the + dialog element MDN docs. +

- +

This modal dialog has a groovy backdrop!

- +
- +

Slideovers

-

Slideovers use the <dialog> html element and can be closed with Esc or a button. See the dialog element MDN docs.

+

+ Slideovers use the <dialog> html element and can be closed with + Esc or a button. See the + dialog element MDN docs. +

- +

This slideover dialog has a groovy backdrop!

- +
- +
-
+

Popovers

-
+
Hover me - -
+
Click me - @@ -225,18 +347,53 @@

Popovers

Tabs

-

These tabs can be navigated with the keyboard using Left, Right, Home, and End.

+

+ These tabs can be navigated with the keyboard using Left, Right, Home, and End. +

-
+
@@ -251,8 +408,20 @@

Tabs

- Change tab by data-index - Change tab by data-id + Change tab by data-index + Change tab by data-id or change by select +
  • +
  • -
  • -
  • +
  • -
  • @@ -308,84 +509,151 @@

    Radios as Tabs

    Toggle

    -
    - - -
    +
    - -
    - -
    +

    This is toggleable text...

    -

    Color Picker and Preview

    - +
    -

    +

    A

    - + # - +
    + + +
    +

    Multiselect Dropdown and Preview

    +
    + + +
    +
    + Select options +
    + +
    +
    +
    diff --git a/src/index.js b/src/index.js index 7ff70f1..d4b3d43 100644 --- a/src/index.js +++ b/src/index.js @@ -3,8 +3,9 @@ export { default as Autosave } from './autosave.js' export { default as ColorPreview } from './color_preview.js' export { default as Dropdown } from './dropdown.js' export { default as Modal } from './modal.js' +export { default as MultiSelect } from './multi_select.js' export { default as Popover } from './popover.js' export { default as Slideover } from './slideover.js' export { default as Tabs } from './tabs.js' export { default as Toggle } from './toggle.js' -export { transition } from "./transition.js" +export { transition } from './transition.js' diff --git a/src/multi_select.js b/src/multi_select.js new file mode 100644 index 0000000..7ac7fa7 --- /dev/null +++ b/src/multi_select.js @@ -0,0 +1,34 @@ +import { Controller } from '@hotwired/stimulus' + +export default class extends Controller { + static targets = ['options', 'selectedItems'] + + connect() { + console.log('hi') + + document.addEventListener('click', this.handleOutsideClick.bind(this)) + } + + disconnect() { + document.removeEventListener('click', this.handleOutsideClick.bind(this)) + } + + toggle() { + this.optionsTarget.classList.toggle('hidden') + } + + updateSelection() { + const checkboxes = this.optionsTarget.querySelectorAll("input[type='checkbox']") + const selected = Array.from(checkboxes) + .filter(checkbox => checkbox.checked) + .map(checkbox => checkbox.value) + + this.selectedItemsTarget.textContent = selected.length ? selected.join(', ') : 'Select options' + } + + handleOutsideClick(event) { + if (!this.element.contains(event.target)) { + this.optionsTarget.classList.add('hidden') + } + } +} From e010efcf0b24dab4af2262546169ed92e2042ed2 Mon Sep 17 00:00:00 2001 From: Jeremy Watt Date: Fri, 25 Oct 2024 14:14:03 -0700 Subject: [PATCH 2/5] tests added --- package-lock.json | 204 ++++++++++++++++---------------- src/multi_select.js | 2 - test/fixtures/multi_select.html | 42 +++++++ test/multi_select_test.js | 71 +++++++++++ 4 files changed, 215 insertions(+), 104 deletions(-) create mode 100644 test/fixtures/multi_select.html create mode 100644 test/multi_select_test.js diff --git a/package-lock.json b/package-lock.json index e59d747..a55075e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,18 @@ { "name": "tailwindcss-stimulus-components", - "version": "6.0.2", + "version": "6.1.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "tailwindcss-stimulus-components", - "version": "6.0.2", + "version": "6.1.2", "license": "MIT", "devDependencies": { "@open-wc/testing": "^4.0.0", "@web/test-runner": "^0.18.0", "@web/test-runner-commands": "^0.9.0", - "esbuild": "^0.23.0" + "esbuild": "^0.24.0" }, "peerDependencies": { "@hotwired/stimulus": ">= 3.0.0" @@ -77,9 +77,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", - "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", "cpu": [ "ppc64" ], @@ -94,9 +94,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", - "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", "cpu": [ "arm" ], @@ -111,9 +111,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", - "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", "cpu": [ "arm64" ], @@ -128,9 +128,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", - "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", "cpu": [ "x64" ], @@ -145,9 +145,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", - "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", "cpu": [ "arm64" ], @@ -162,9 +162,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", - "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", "cpu": [ "x64" ], @@ -179,9 +179,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", - "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", "cpu": [ "arm64" ], @@ -196,9 +196,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", - "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", "cpu": [ "x64" ], @@ -213,9 +213,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", - "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", "cpu": [ "arm" ], @@ -230,9 +230,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", - "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", "cpu": [ "arm64" ], @@ -247,9 +247,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", - "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", "cpu": [ "ia32" ], @@ -264,9 +264,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", - "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", "cpu": [ "loong64" ], @@ -281,9 +281,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", - "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", "cpu": [ "mips64el" ], @@ -298,9 +298,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", - "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", "cpu": [ "ppc64" ], @@ -315,9 +315,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", - "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", "cpu": [ "riscv64" ], @@ -332,9 +332,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", - "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", "cpu": [ "s390x" ], @@ -349,9 +349,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", - "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", "cpu": [ "x64" ], @@ -366,9 +366,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", - "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", "cpu": [ "x64" ], @@ -383,9 +383,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", - "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", "cpu": [ "arm64" ], @@ -400,9 +400,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", - "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", "cpu": [ "x64" ], @@ -417,9 +417,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", - "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", "cpu": [ "x64" ], @@ -434,9 +434,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", - "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", "cpu": [ "arm64" ], @@ -451,9 +451,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", - "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", "cpu": [ "ia32" ], @@ -468,9 +468,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", - "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", "cpu": [ "x64" ], @@ -2440,9 +2440,9 @@ "dev": true }, "node_modules/esbuild": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", - "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -2453,30 +2453,30 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.1", - "@esbuild/android-arm": "0.23.1", - "@esbuild/android-arm64": "0.23.1", - "@esbuild/android-x64": "0.23.1", - "@esbuild/darwin-arm64": "0.23.1", - "@esbuild/darwin-x64": "0.23.1", - "@esbuild/freebsd-arm64": "0.23.1", - "@esbuild/freebsd-x64": "0.23.1", - "@esbuild/linux-arm": "0.23.1", - "@esbuild/linux-arm64": "0.23.1", - "@esbuild/linux-ia32": "0.23.1", - "@esbuild/linux-loong64": "0.23.1", - "@esbuild/linux-mips64el": "0.23.1", - "@esbuild/linux-ppc64": "0.23.1", - "@esbuild/linux-riscv64": "0.23.1", - "@esbuild/linux-s390x": "0.23.1", - "@esbuild/linux-x64": "0.23.1", - "@esbuild/netbsd-x64": "0.23.1", - "@esbuild/openbsd-arm64": "0.23.1", - "@esbuild/openbsd-x64": "0.23.1", - "@esbuild/sunos-x64": "0.23.1", - "@esbuild/win32-arm64": "0.23.1", - "@esbuild/win32-ia32": "0.23.1", - "@esbuild/win32-x64": "0.23.1" + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" } }, "node_modules/escalade": { diff --git a/src/multi_select.js b/src/multi_select.js index 7ac7fa7..ff8a52b 100644 --- a/src/multi_select.js +++ b/src/multi_select.js @@ -4,8 +4,6 @@ export default class extends Controller { static targets = ['options', 'selectedItems'] connect() { - console.log('hi') - document.addEventListener('click', this.handleOutsideClick.bind(this)) } diff --git a/test/fixtures/multi_select.html b/test/fixtures/multi_select.html new file mode 100644 index 0000000..501bd8c --- /dev/null +++ b/test/fixtures/multi_select.html @@ -0,0 +1,42 @@ +
    +
    + Select options +
    + +
    diff --git a/test/multi_select_test.js b/test/multi_select_test.js new file mode 100644 index 0000000..0a72cfa --- /dev/null +++ b/test/multi_select_test.js @@ -0,0 +1,71 @@ +import { Application } from '@hotwired/stimulus' +import { expect, fixture, html } from '@open-wc/testing' +import MultiSelect from '../src/multi_select' +import { fetchFixture } from './test_helpers' + +describe('MultiSelectController', () => { + beforeEach(async () => { + const application = Application.start() + application.register('multi-select', MultiSelect) + + const html = await fetchFixture('multi_select.html') + await fixture(html) + }) + + it('should toggle options visibility when clicked', async () => { + const toggleButton = document.querySelector('[data-action="click->multi-select#toggle"]') + const options = document.querySelector('[data-multi-select-target="options"]') + + // on initialization: options should be hidden + expect(options.classList.contains('hidden')).to.be.true + + // clicking the multi-select button shows options (hidden removed) + toggleButton.click() + await document.updateComplete + expect(options.classList.contains('hidden')).to.be.false + + // click the same button again to hide options (hidden re-added) + toggleButton.click() + await document.updateComplete + expect(options.classList.contains('hidden')).to.be.true + }) + + it('should update selected items text when checkboxes are checked', async () => { + const checkbox1 = document.querySelector('input[value="Option 1"]') + const selectedItems = document.querySelector('[data-multi-select-target="selectedItems"]') + + // check the first checkbox, confirm its checked + checkbox1.click() + await document.updateComplete // Wait for updates to apply + expect(selectedItems.textContent).to.equal('Option 1') + + // check the second checkbox, confirm again + const checkbox2 = document.querySelector('input[value="Option 2"]') + checkbox2.click() + await document.updateComplete + expect(selectedItems.textContent).to.equal('Option 1, Option 2') + + // uncheck the first checkbox, confirm first option not present + checkbox1.click() + await document.updateComplete + expect(selectedItems.textContent).to.equal('Option 2') + }) + + it('should reset text when no checkboxes are checked', async () => { + const selectedItems = document.querySelector('[data-multi-select-target="selectedItems"]') + const checkboxes = document.querySelectorAll('input[type="checkbox"]') + + // check starting value + expect(selectedItems.textContent).to.equal('Select options') + + // check all boxes and confirm all checked labels are showing + checkboxes.forEach(checkbox => checkbox.click()) + await document.updateComplete + expect(selectedItems.textContent).to.equal('Option 1, Option 2, Option 3') + + // uncheck all boxes - confirm starting phrase visible + checkboxes.forEach(checkbox => checkbox.click()) + await document.updateComplete + expect(selectedItems.textContent).to.equal('Select options') + }) +}) From 5d25ef3c011afd7d5b957104c9d515e7876eabb5 Mon Sep 17 00:00:00 2001 From: Jeremy Watt Date: Fri, 25 Oct 2024 17:06:28 -0700 Subject: [PATCH 3/5] adjusted selected_tag_names to input for retrieval of selected options in form usage --- index.html | 13 ++++++++----- src/multi_select.js | 3 ++- test/fixtures/multi_select.html | 8 +++++++- test/multi_select_test.js | 16 ++++++++-------- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/index.html b/index.html index 4ce9f19..dcf8b80 100644 --- a/index.html +++ b/index.html @@ -605,17 +605,20 @@

    Color Picker and PreviewMultiselect Dropdown and Preview

    -
    - Select options +
    checkbox.checked) .map(checkbox => checkbox.value) - this.selectedItemsTarget.textContent = selected.length ? selected.join(', ') : 'Select options' + this.selectedItemsTarget.value = selected.length ? selected.join(', ') : 'Select options' } handleOutsideClick(event) { diff --git a/test/fixtures/multi_select.html b/test/fixtures/multi_select.html index 501bd8c..4096d86 100644 --- a/test/fixtures/multi_select.html +++ b/test/fixtures/multi_select.html @@ -3,7 +3,13 @@ data-action="click->multi-select#toggle" class="border rounded-md p-3 bg-white shadow-md cursor-pointer" > - Select options +
    { it('should update selected items text when checkboxes are checked', async () => { const checkbox1 = document.querySelector('input[value="Option 1"]') - const selectedItems = document.querySelector('[data-multi-select-target="selectedItems"]') + const selectedTagNames = document.querySelector('[name="selected_tag_names"]') // check the first checkbox, confirm its checked checkbox1.click() await document.updateComplete // Wait for updates to apply - expect(selectedItems.textContent).to.equal('Option 1') + expect(selectedTagNames.value).to.equal('Option 1') // check the second checkbox, confirm again const checkbox2 = document.querySelector('input[value="Option 2"]') checkbox2.click() await document.updateComplete - expect(selectedItems.textContent).to.equal('Option 1, Option 2') + expect(selectedTagNames.value).to.equal('Option 1, Option 2') // uncheck the first checkbox, confirm first option not present checkbox1.click() await document.updateComplete - expect(selectedItems.textContent).to.equal('Option 2') + expect(selectedTagNames.value).to.equal('Option 2') }) it('should reset text when no checkboxes are checked', async () => { - const selectedItems = document.querySelector('[data-multi-select-target="selectedItems"]') + const selectedTagNames = document.querySelector('[name="selected_tag_names"]') const checkboxes = document.querySelectorAll('input[type="checkbox"]') // check starting value - expect(selectedItems.textContent).to.equal('Select options') + expect(selectedTagNames.value).to.equal('Select options') // check all boxes and confirm all checked labels are showing checkboxes.forEach(checkbox => checkbox.click()) await document.updateComplete - expect(selectedItems.textContent).to.equal('Option 1, Option 2, Option 3') + expect(selectedTagNames.value).to.equal('Option 1, Option 2, Option 3') // uncheck all boxes - confirm starting phrase visible checkboxes.forEach(checkbox => checkbox.click()) await document.updateComplete - expect(selectedItems.textContent).to.equal('Select options') + expect(selectedTagNames.value).to.equal('Select options') }) }) From e1665d618cb2f4a6d08e9a66bb1f0bf64f62b3a1 Mon Sep 17 00:00:00 2001 From: Jeremy Watt Date: Fri, 25 Oct 2024 17:18:07 -0700 Subject: [PATCH 4/5] cursor style update --- index.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index dcf8b80..5ef555f 100644 --- a/index.html +++ b/index.html @@ -601,13 +601,13 @@

    Color Picker and Preview -
    +

    Multiselect Dropdown and Preview

    -
    +
    Multiselect Dropdown and P readonly name="selected_tag_names" data-multi-select-target="selectedItems" - class="text-gray-600" + class="text-gray-600 w-full" placeholder="Select options" + cursor="pointer" />
    Date: Fri, 25 Oct 2024 17:32:51 -0700 Subject: [PATCH 5/5] doc addded --- docs/multi-select.gif | Bin 0 -> 87435 bytes docs/multi-select.md | 75 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 docs/multi-select.gif create mode 100644 docs/multi-select.md diff --git a/docs/multi-select.gif b/docs/multi-select.gif new file mode 100644 index 0000000000000000000000000000000000000000..51b61d88a31ee16f18c6ffa76e6329042d4b544d GIT binary patch literal 87435 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 +
    + +
    + +
    +``` + +Multi-select options are set up to toggle on click. Selected options may be accessed as a concatenated string returned from this input. + +```html + +``` + +Selected options read from memory will be automatically checked.