@nyaruka/temba-components 0.169.0 → 0.170.1

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 (40) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/locales/es.js +1 -0
  3. package/dist/locales/es.js.map +1 -1
  4. package/dist/locales/fr.js +1 -0
  5. package/dist/locales/fr.js.map +1 -1
  6. package/dist/locales/pt.js +1 -0
  7. package/dist/locales/pt.js.map +1 -1
  8. package/dist/temba-components.js +501 -173
  9. package/dist/temba-components.js.map +1 -1
  10. package/package.json +1 -1
  11. package/src/display/Button.ts +14 -2
  12. package/src/display/Chat.ts +43 -24
  13. package/src/display/Dropdown.ts +11 -7
  14. package/src/display/Label.ts +18 -3
  15. package/src/display/Options.ts +27 -14
  16. package/src/display/TembaDate.ts +9 -2
  17. package/src/form/Compose.ts +37 -28
  18. package/src/form/select/Select.ts +15 -2
  19. package/src/interfaces.ts +13 -3
  20. package/src/list/BroadcastList.ts +20 -7
  21. package/src/list/ContactList.ts +113 -9
  22. package/src/list/ContentList.ts +380 -21
  23. package/src/list/ContentMenu.ts +12 -6
  24. package/src/list/FieldList.ts +8 -1
  25. package/src/list/TembaList.ts +99 -29
  26. package/src/list/TicketList.ts +87 -18
  27. package/src/live/CampaignEvents.ts +31 -11
  28. package/src/live/ContactChat.ts +36 -7
  29. package/src/live/ContactTimeline.ts +46 -24
  30. package/src/locales/es.ts +1 -0
  31. package/src/locales/fr.ts +1 -0
  32. package/src/locales/pt.ts +1 -0
  33. package/src/simulator/Simulator.ts +1 -0
  34. package/src/styles/designTokens.ts +57 -17
  35. package/src/styles/pillVariants.ts +42 -10
  36. package/static/css/design-system.css +47 -12
  37. package/static/css/temba-components.css +31 -9
  38. package/xliff/es.xlf +3 -0
  39. package/xliff/fr.xlf +3 -0
  40. package/xliff/pt.xlf +3 -0
package/CHANGELOG.md CHANGED
@@ -4,8 +4,27 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [v0.170.1](https://github.com/nyaruka/temba-components/compare/v0.170.0...v0.170.1)
8
+
9
+ > 31 July 2026
10
+
11
+ - Add fallbacks for browsers without color-mix() support [`#1096`](https://github.com/nyaruka/temba-components/pull/1096)
12
+
13
+ #### [v0.170.0](https://github.com/nyaruka/temba-components/compare/v0.169.0...v0.170.0)
14
+
15
+ - Fix quick reply entry and display for broadcasts [`#1092`](https://github.com/nyaruka/temba-components/pull/1092)
16
+ - Raise content menu dropdown above floating windows [`#1091`](https://github.com/nyaruka/temba-components/pull/1091)
17
+ - Show open and closed tickets in a single list [`#1086`](https://github.com/nyaruka/temba-components/pull/1086)
18
+ - Allow reordering contact list field columns with drag and drop [`#1088`](https://github.com/nyaruka/temba-components/pull/1088)
19
+ - Fix simulator phone screen shifting left on Linux [`#1085`](https://github.com/nyaruka/temba-components/pull/1085)
20
+ - Treat zero-value times as unset when rendering dates [`#1084`](https://github.com/nyaruka/temba-components/pull/1084)
21
+ - Expand test coverage across message table, flow editor, store and pure logic modules [`#1089`](https://github.com/nyaruka/temba-components/pull/1089)
22
+ - Handle engine-shaped quick replies in compose [`5fb909d`](https://github.com/nyaruka/temba-components/commit/5fb909d1d8641014a61e2f589aacd7a00197340f)
23
+
7
24
  #### [v0.169.0](https://github.com/nyaruka/temba-components/compare/v0.168.1...v0.169.0)
8
25
 
26
+ > 28 July 2026
27
+
9
28
  - Add central contact watcher for interest-based live updates [`#1087`](https://github.com/nyaruka/temba-components/pull/1087)
10
29
 
11
30
  #### [v0.168.1](https://github.com/nyaruka/temba-components/compare/v0.168.0...v0.168.1)
@@ -9,6 +9,7 @@ export const templates = {
9
9
  'sbc913d7dc0f33877': `to add`,
10
10
  's7722a91d3a512442': str `Last seen ${0}`,
11
11
  's22965bb9808befb0': `Interrupt`,
12
+ 's6dbbe2646b239ca5': `Closed`,
12
13
  's122d4de68bcfcdf4': `It's okay to restart`,
13
14
  's3eb2567092b4d7c1': `from the beginning`,
14
15
  's28f37776b3901438': `It's okay to interrupt`,
@@ -1 +1 @@
1
- {"version":3,"file":"es.js","sourceRoot":"","sources":["../../../src/locales/es.ts"],"names":[],"mappings":"AACI,mCAAmC;AACnC,gDAAgD;AAGhD,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB,EAAE,4CAA4C;IACvE,mBAAmB,EAAE,YAAY;IACjC,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,GAAG,CAAA,aAAa,CAAC,EAAE;IACxC,mBAAmB,EAAE,WAAW;IAChC,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,iCAAiC;IACtD,mBAAmB,EAAE,gDAAgD;IACrE,mBAAmB,EAAE,QAAQ;CACxB,CAAC","sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n import {str} from '@lit/localize';\n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 'scf1453991c986b25': `Tab para completar, enter para seleccionar`,\n's73b4d70c02f4b4e0': `No options`,\n'sbc913d7dc0f33877': `to add`,\n's7722a91d3a512442': str`Last seen ${0}`,\n's22965bb9808befb0': `Interrupt`,\n's122d4de68bcfcdf4': `It's okay to restart`,\n's3eb2567092b4d7c1': `from the beginning`,\n's28f37776b3901438': `It's okay to interrupt`,\n's6838d20b10f7512a': `and start this one`,\n's8f02e3a18ffc083a': `Are not currently in a flow`,\n's638236250662c6b3': `Have sent a message in the last`,\n's4788ee206c4570c7': `Have not started this flow in the last 90 days`,\n'sea4f08110bb8f15d': `Remove`,\n };\n "]}
1
+ {"version":3,"file":"es.js","sourceRoot":"","sources":["../../../src/locales/es.ts"],"names":[],"mappings":"AACI,mCAAmC;AACnC,gDAAgD;AAGhD,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB,EAAE,4CAA4C;IACvE,mBAAmB,EAAE,YAAY;IACjC,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,GAAG,CAAA,aAAa,CAAC,EAAE;IACxC,mBAAmB,EAAE,WAAW;IAChC,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,iCAAiC;IACtD,mBAAmB,EAAE,gDAAgD;IACrE,mBAAmB,EAAE,QAAQ;CACxB,CAAC","sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n import {str} from '@lit/localize';\n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 'scf1453991c986b25': `Tab para completar, enter para seleccionar`,\n's73b4d70c02f4b4e0': `No options`,\n'sbc913d7dc0f33877': `to add`,\n's7722a91d3a512442': str`Last seen ${0}`,\n's22965bb9808befb0': `Interrupt`,\n's6dbbe2646b239ca5': `Closed`,\n's122d4de68bcfcdf4': `It's okay to restart`,\n's3eb2567092b4d7c1': `from the beginning`,\n's28f37776b3901438': `It's okay to interrupt`,\n's6838d20b10f7512a': `and start this one`,\n's8f02e3a18ffc083a': `Are not currently in a flow`,\n's638236250662c6b3': `Have sent a message in the last`,\n's4788ee206c4570c7': `Have not started this flow in the last 90 days`,\n'sea4f08110bb8f15d': `Remove`,\n };\n "]}
@@ -9,6 +9,7 @@ export const templates = {
9
9
  'sbc913d7dc0f33877': `to add`,
10
10
  's7722a91d3a512442': str `Last seen ${0}`,
11
11
  's22965bb9808befb0': `Interrupt`,
12
+ 's6dbbe2646b239ca5': `Closed`,
12
13
  's122d4de68bcfcdf4': `It's okay to restart`,
13
14
  's3eb2567092b4d7c1': `from the beginning`,
14
15
  's28f37776b3901438': `It's okay to interrupt`,
@@ -1 +1 @@
1
- {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../../src/locales/fr.ts"],"names":[],"mappings":"AACI,mCAAmC;AACnC,gDAAgD;AAGhD,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB,EAAE,YAAY;IACvC,mBAAmB,EAAE,kCAAkC;IACvD,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,GAAG,CAAA,aAAa,CAAC,EAAE;IACxC,mBAAmB,EAAE,WAAW;IAChC,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,iCAAiC;IACtD,mBAAmB,EAAE,gDAAgD;IACrE,mBAAmB,EAAE,QAAQ;CACxB,CAAC","sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n import {str} from '@lit/localize';\n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's73b4d70c02f4b4e0': `No options`,\n'scf1453991c986b25': `Tab to complete, enter to select`,\n'sbc913d7dc0f33877': `to add`,\n's7722a91d3a512442': str`Last seen ${0}`,\n's22965bb9808befb0': `Interrupt`,\n's122d4de68bcfcdf4': `It's okay to restart`,\n's3eb2567092b4d7c1': `from the beginning`,\n's28f37776b3901438': `It's okay to interrupt`,\n's6838d20b10f7512a': `and start this one`,\n's8f02e3a18ffc083a': `Are not currently in a flow`,\n's638236250662c6b3': `Have sent a message in the last`,\n's4788ee206c4570c7': `Have not started this flow in the last 90 days`,\n'sea4f08110bb8f15d': `Remove`,\n };\n "]}
1
+ {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../../src/locales/fr.ts"],"names":[],"mappings":"AACI,mCAAmC;AACnC,gDAAgD;AAGhD,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB,EAAE,YAAY;IACvC,mBAAmB,EAAE,kCAAkC;IACvD,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,GAAG,CAAA,aAAa,CAAC,EAAE;IACxC,mBAAmB,EAAE,WAAW;IAChC,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,iCAAiC;IACtD,mBAAmB,EAAE,gDAAgD;IACrE,mBAAmB,EAAE,QAAQ;CACxB,CAAC","sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n import {str} from '@lit/localize';\n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's73b4d70c02f4b4e0': `No options`,\n'scf1453991c986b25': `Tab to complete, enter to select`,\n'sbc913d7dc0f33877': `to add`,\n's7722a91d3a512442': str`Last seen ${0}`,\n's22965bb9808befb0': `Interrupt`,\n's6dbbe2646b239ca5': `Closed`,\n's122d4de68bcfcdf4': `It's okay to restart`,\n's3eb2567092b4d7c1': `from the beginning`,\n's28f37776b3901438': `It's okay to interrupt`,\n's6838d20b10f7512a': `and start this one`,\n's8f02e3a18ffc083a': `Are not currently in a flow`,\n's638236250662c6b3': `Have sent a message in the last`,\n's4788ee206c4570c7': `Have not started this flow in the last 90 days`,\n'sea4f08110bb8f15d': `Remove`,\n };\n "]}
@@ -9,6 +9,7 @@ export const templates = {
9
9
  'sbc913d7dc0f33877': `to add`,
10
10
  's7722a91d3a512442': str `Last seen ${0}`,
11
11
  's22965bb9808befb0': `Interrupt`,
12
+ 's6dbbe2646b239ca5': `Closed`,
12
13
  's122d4de68bcfcdf4': `It's okay to restart`,
13
14
  's3eb2567092b4d7c1': `from the beginning`,
14
15
  's28f37776b3901438': `It's okay to interrupt`,
@@ -1 +1 @@
1
- {"version":3,"file":"pt.js","sourceRoot":"","sources":["../../../src/locales/pt.ts"],"names":[],"mappings":"AACI,mCAAmC;AACnC,gDAAgD;AAGhD,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB,EAAE,YAAY;IACvC,mBAAmB,EAAE,kCAAkC;IACvD,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,GAAG,CAAA,aAAa,CAAC,EAAE;IACxC,mBAAmB,EAAE,WAAW;IAChC,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,iCAAiC;IACtD,mBAAmB,EAAE,gDAAgD;IACrE,mBAAmB,EAAE,QAAQ;CACxB,CAAC","sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n import {str} from '@lit/localize';\n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's73b4d70c02f4b4e0': `No options`,\n'scf1453991c986b25': `Tab to complete, enter to select`,\n'sbc913d7dc0f33877': `to add`,\n's7722a91d3a512442': str`Last seen ${0}`,\n's22965bb9808befb0': `Interrupt`,\n's122d4de68bcfcdf4': `It's okay to restart`,\n's3eb2567092b4d7c1': `from the beginning`,\n's28f37776b3901438': `It's okay to interrupt`,\n's6838d20b10f7512a': `and start this one`,\n's8f02e3a18ffc083a': `Are not currently in a flow`,\n's638236250662c6b3': `Have sent a message in the last`,\n's4788ee206c4570c7': `Have not started this flow in the last 90 days`,\n'sea4f08110bb8f15d': `Remove`,\n };\n "]}
1
+ {"version":3,"file":"pt.js","sourceRoot":"","sources":["../../../src/locales/pt.ts"],"names":[],"mappings":"AACI,mCAAmC;AACnC,gDAAgD;AAGhD,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,4CAA4C;AAC5C,uDAAuD;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB,EAAE,YAAY;IACvC,mBAAmB,EAAE,kCAAkC;IACvD,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,GAAG,CAAA,aAAa,CAAC,EAAE;IACxC,mBAAmB,EAAE,WAAW;IAChC,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,wBAAwB;IAC7C,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,iCAAiC;IACtD,mBAAmB,EAAE,gDAAgD;IACrE,mBAAmB,EAAE,QAAQ;CACxB,CAAC","sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n import {str} from '@lit/localize';\n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's73b4d70c02f4b4e0': `No options`,\n'scf1453991c986b25': `Tab to complete, enter to select`,\n'sbc913d7dc0f33877': `to add`,\n's7722a91d3a512442': str`Last seen ${0}`,\n's22965bb9808befb0': `Interrupt`,\n's6dbbe2646b239ca5': `Closed`,\n's122d4de68bcfcdf4': `It's okay to restart`,\n's3eb2567092b4d7c1': `from the beginning`,\n's28f37776b3901438': `It's okay to interrupt`,\n's6838d20b10f7512a': `and start this one`,\n's8f02e3a18ffc083a': `Are not currently in a flow`,\n's638236250662c6b3': `Have sent a message in the last`,\n's4788ee206c4570c7': `Have not started this flow in the last 90 days`,\n'sea4f08110bb8f15d': `Remove`,\n };\n "]}