@inorain_development/hotel-smarters-chat-ui 1.2.2 → 1.3.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.
- package/lib/commonjs/features/chat/components/common/calendar-icon.js +33 -0
- package/lib/commonjs/features/chat/components/common/calendar-icon.js.map +1 -0
- package/lib/commonjs/features/chat/components/common/calendar-icon.native.js +33 -0
- package/lib/commonjs/features/chat/components/common/calendar-icon.native.js.map +1 -0
- package/lib/commonjs/features/chat/components/common/cart-icon.js +36 -0
- package/lib/commonjs/features/chat/components/common/cart-icon.js.map +1 -0
- package/lib/commonjs/features/chat/components/common/chevron-icon.js +26 -0
- package/lib/commonjs/features/chat/components/common/chevron-icon.js.map +1 -0
- package/lib/commonjs/features/chat/components/common/chevron-icon.native.js +26 -0
- package/lib/commonjs/features/chat/components/common/chevron-icon.native.js.map +1 -0
- package/lib/commonjs/features/chat/components/common/plane-icon.js +23 -0
- package/lib/commonjs/features/chat/components/common/plane-icon.js.map +1 -0
- package/lib/commonjs/features/chat/components/common/plane-icon.native.js +23 -0
- package/lib/commonjs/features/chat/components/common/plane-icon.native.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight/flight-card.js +130 -0
- package/lib/commonjs/features/chat/components/flight/flight-card.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight/flight-card.native.js +132 -0
- package/lib/commonjs/features/chat/components/flight/flight-card.native.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight/flight.js +149 -0
- package/lib/commonjs/features/chat/components/flight/flight.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight/flight.model.js +6 -0
- package/lib/commonjs/features/chat/components/flight/flight.model.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight/flight.native.js +151 -0
- package/lib/commonjs/features/chat/components/flight/flight.native.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight/index.js +13 -0
- package/lib/commonjs/features/chat/components/flight/index.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight-board/flight-board.js +154 -0
- package/lib/commonjs/features/chat/components/flight-board/flight-board.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight-board/flight-board.model.js +6 -0
- package/lib/commonjs/features/chat/components/flight-board/flight-board.model.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight-board/flight-board.native.js +165 -0
- package/lib/commonjs/features/chat/components/flight-board/flight-board.native.js.map +1 -0
- package/lib/commonjs/features/chat/components/flight-board/index.js +13 -0
- package/lib/commonjs/features/chat/components/flight-board/index.js.map +1 -0
- package/lib/commonjs/features/chat/components/info/info.js +41 -14
- package/lib/commonjs/features/chat/components/info/info.js.map +1 -1
- package/lib/commonjs/features/chat/components/info/info.native.js +45 -14
- package/lib/commonjs/features/chat/components/info/info.native.js.map +1 -1
- package/lib/commonjs/features/chat/components/order/index.js +20 -0
- package/lib/commonjs/features/chat/components/order/index.js.map +1 -0
- package/lib/commonjs/features/chat/components/order/order.js +168 -0
- package/lib/commonjs/features/chat/components/order/order.js.map +1 -0
- package/lib/commonjs/features/chat/components/order/order.model.js +15 -0
- package/lib/commonjs/features/chat/components/order/order.model.js.map +1 -0
- package/lib/commonjs/features/chat/components/order/order.native.js +186 -0
- package/lib/commonjs/features/chat/components/order/order.native.js.map +1 -0
- package/lib/commonjs/features/chat/components/reservation/index.js +20 -0
- package/lib/commonjs/features/chat/components/reservation/index.js.map +1 -0
- package/lib/commonjs/features/chat/components/reservation/reservation.js +165 -0
- package/lib/commonjs/features/chat/components/reservation/reservation.js.map +1 -0
- package/lib/commonjs/features/chat/components/reservation/reservation.model.js +13 -0
- package/lib/commonjs/features/chat/components/reservation/reservation.model.js.map +1 -0
- package/lib/commonjs/features/chat/components/reservation/reservation.native.js +180 -0
- package/lib/commonjs/features/chat/components/reservation/reservation.native.js.map +1 -0
- package/lib/commonjs/features/chat/model/chat.model.js +17 -1
- package/lib/commonjs/features/chat/model/chat.model.js.map +1 -1
- package/lib/commonjs/features/chat/renderer/renderer.js +26 -0
- package/lib/commonjs/features/chat/renderer/renderer.js.map +1 -1
- package/lib/commonjs/features/chat/renderer/renderer.native.js +26 -0
- package/lib/commonjs/features/chat/renderer/renderer.native.js.map +1 -1
- package/lib/commonjs/native.js +48 -0
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/utils/flight.utils.js +86 -0
- package/lib/commonjs/utils/flight.utils.js.map +1 -0
- package/lib/commonjs/utils/order.utils.js +24 -0
- package/lib/commonjs/utils/order.utils.js.map +1 -0
- package/lib/commonjs/utils/reservation.utils.js +22 -0
- package/lib/commonjs/utils/reservation.utils.js.map +1 -0
- package/lib/commonjs/utils/status-badge.utils.js +75 -0
- package/lib/commonjs/utils/status-badge.utils.js.map +1 -0
- package/lib/commonjs/utils/theme.utils.js +8 -2
- package/lib/commonjs/utils/theme.utils.js.map +1 -1
- package/lib/commonjs/web.js +48 -0
- package/lib/commonjs/web.js.map +1 -1
- package/lib/module/features/chat/components/common/calendar-icon.js +29 -0
- package/lib/module/features/chat/components/common/calendar-icon.js.map +1 -0
- package/lib/module/features/chat/components/common/calendar-icon.native.js +29 -0
- package/lib/module/features/chat/components/common/calendar-icon.native.js.map +1 -0
- package/lib/module/features/chat/components/common/cart-icon.js +32 -0
- package/lib/module/features/chat/components/common/cart-icon.js.map +1 -0
- package/lib/module/features/chat/components/common/chevron-icon.js +22 -0
- package/lib/module/features/chat/components/common/chevron-icon.js.map +1 -0
- package/lib/module/features/chat/components/common/chevron-icon.native.js +22 -0
- package/lib/module/features/chat/components/common/chevron-icon.native.js.map +1 -0
- package/lib/module/features/chat/components/common/plane-icon.js +19 -0
- package/lib/module/features/chat/components/common/plane-icon.js.map +1 -0
- package/lib/module/features/chat/components/common/plane-icon.native.js +19 -0
- package/lib/module/features/chat/components/common/plane-icon.native.js.map +1 -0
- package/lib/module/features/chat/components/flight/flight-card.js +126 -0
- package/lib/module/features/chat/components/flight/flight-card.js.map +1 -0
- package/lib/module/features/chat/components/flight/flight-card.native.js +128 -0
- package/lib/module/features/chat/components/flight/flight-card.native.js.map +1 -0
- package/lib/module/features/chat/components/flight/flight.js +145 -0
- package/lib/module/features/chat/components/flight/flight.js.map +1 -0
- package/lib/module/features/chat/components/flight/flight.model.js +4 -0
- package/lib/module/features/chat/components/flight/flight.model.js.map +1 -0
- package/lib/module/features/chat/components/flight/flight.native.js +147 -0
- package/lib/module/features/chat/components/flight/flight.native.js.map +1 -0
- package/lib/module/features/chat/components/flight/index.js +4 -0
- package/lib/module/features/chat/components/flight/index.js.map +1 -0
- package/lib/module/features/chat/components/flight-board/flight-board.js +150 -0
- package/lib/module/features/chat/components/flight-board/flight-board.js.map +1 -0
- package/lib/module/features/chat/components/flight-board/flight-board.model.js +4 -0
- package/lib/module/features/chat/components/flight-board/flight-board.model.js.map +1 -0
- package/lib/module/features/chat/components/flight-board/flight-board.native.js +161 -0
- package/lib/module/features/chat/components/flight-board/flight-board.native.js.map +1 -0
- package/lib/module/features/chat/components/flight-board/index.js +4 -0
- package/lib/module/features/chat/components/flight-board/index.js.map +1 -0
- package/lib/module/features/chat/components/info/info.js +41 -14
- package/lib/module/features/chat/components/info/info.js.map +1 -1
- package/lib/module/features/chat/components/info/info.native.js +46 -15
- package/lib/module/features/chat/components/info/info.native.js.map +1 -1
- package/lib/module/features/chat/components/order/index.js +5 -0
- package/lib/module/features/chat/components/order/index.js.map +1 -0
- package/lib/module/features/chat/components/order/order.js +164 -0
- package/lib/module/features/chat/components/order/order.js.map +1 -0
- package/lib/module/features/chat/components/order/order.model.js +11 -0
- package/lib/module/features/chat/components/order/order.model.js.map +1 -0
- package/lib/module/features/chat/components/order/order.native.js +182 -0
- package/lib/module/features/chat/components/order/order.native.js.map +1 -0
- package/lib/module/features/chat/components/reservation/index.js +5 -0
- package/lib/module/features/chat/components/reservation/index.js.map +1 -0
- package/lib/module/features/chat/components/reservation/reservation.js +161 -0
- package/lib/module/features/chat/components/reservation/reservation.js.map +1 -0
- package/lib/module/features/chat/components/reservation/reservation.model.js +9 -0
- package/lib/module/features/chat/components/reservation/reservation.model.js.map +1 -0
- package/lib/module/features/chat/components/reservation/reservation.native.js +176 -0
- package/lib/module/features/chat/components/reservation/reservation.native.js.map +1 -0
- package/lib/module/features/chat/model/chat.model.js +16 -0
- package/lib/module/features/chat/model/chat.model.js.map +1 -1
- package/lib/module/features/chat/renderer/renderer.js +26 -0
- package/lib/module/features/chat/renderer/renderer.js.map +1 -1
- package/lib/module/features/chat/renderer/renderer.native.js +26 -0
- package/lib/module/features/chat/renderer/renderer.native.js.map +1 -1
- package/lib/module/native.js +7 -1
- package/lib/module/native.js.map +1 -1
- package/lib/module/utils/flight.utils.js +82 -0
- package/lib/module/utils/flight.utils.js.map +1 -0
- package/lib/module/utils/order.utils.js +20 -0
- package/lib/module/utils/order.utils.js.map +1 -0
- package/lib/module/utils/reservation.utils.js +18 -0
- package/lib/module/utils/reservation.utils.js.map +1 -0
- package/lib/module/utils/status-badge.utils.js +70 -0
- package/lib/module/utils/status-badge.utils.js.map +1 -0
- package/lib/module/utils/theme.utils.js +8 -2
- package/lib/module/utils/theme.utils.js.map +1 -1
- package/lib/module/web.js +7 -1
- package/lib/module/web.js.map +1 -1
- package/lib/typescript/commonjs/features/chat/components/common/calendar-icon.d.ts +6 -0
- package/lib/typescript/commonjs/features/chat/components/common/calendar-icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/common/calendar-icon.native.d.ts +6 -0
- package/lib/typescript/commonjs/features/chat/components/common/calendar-icon.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/common/cart-icon.d.ts +6 -0
- package/lib/typescript/commonjs/features/chat/components/common/cart-icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/common/chevron-icon.d.ts +6 -0
- package/lib/typescript/commonjs/features/chat/components/common/chevron-icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/common/chevron-icon.native.d.ts +6 -0
- package/lib/typescript/commonjs/features/chat/components/common/chevron-icon.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/common/plane-icon.d.ts +6 -0
- package/lib/typescript/commonjs/features/chat/components/common/plane-icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/common/plane-icon.native.d.ts +6 -0
- package/lib/typescript/commonjs/features/chat/components/common/plane-icon.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight-card.d.ts +12 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight-card.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight-card.native.d.ts +12 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight-card.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight.model.d.ts +19 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight.model.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight.native.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/flight/flight.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight/index.d.ts +3 -0
- package/lib/typescript/commonjs/features/chat/components/flight/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight-board/flight-board.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/flight-board/flight-board.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight-board/flight-board.model.d.ts +22 -0
- package/lib/typescript/commonjs/features/chat/components/flight-board/flight-board.model.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight-board/flight-board.native.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/flight-board/flight-board.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/flight-board/index.d.ts +3 -0
- package/lib/typescript/commonjs/features/chat/components/flight-board/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/info/info.d.ts +1 -1
- package/lib/typescript/commonjs/features/chat/components/info/info.d.ts.map +1 -1
- package/lib/typescript/commonjs/features/chat/components/info/info.model.d.ts +3 -0
- package/lib/typescript/commonjs/features/chat/components/info/info.model.d.ts.map +1 -1
- package/lib/typescript/commonjs/features/chat/components/info/info.native.d.ts +1 -1
- package/lib/typescript/commonjs/features/chat/components/info/info.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/features/chat/components/order/index.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/order/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/order/order.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/order/order.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/order/order.model.d.ts +30 -0
- package/lib/typescript/commonjs/features/chat/components/order/order.model.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/order/order.native.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/order/order.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/reservation/index.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/reservation/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/reservation/reservation.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/reservation/reservation.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/reservation/reservation.model.d.ts +28 -0
- package/lib/typescript/commonjs/features/chat/components/reservation/reservation.model.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/components/reservation/reservation.native.d.ts +4 -0
- package/lib/typescript/commonjs/features/chat/components/reservation/reservation.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/features/chat/model/chat.model.d.ts +17 -2
- package/lib/typescript/commonjs/features/chat/model/chat.model.d.ts.map +1 -1
- package/lib/typescript/commonjs/features/chat/renderer/renderer.d.ts +5 -1
- package/lib/typescript/commonjs/features/chat/renderer/renderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/features/chat/renderer/renderer.native.d.ts +5 -1
- package/lib/typescript/commonjs/features/chat/renderer/renderer.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +11 -1
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/flight.utils.d.ts +10 -0
- package/lib/typescript/commonjs/utils/flight.utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/order.utils.d.ts +7 -0
- package/lib/typescript/commonjs/utils/order.utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/reservation.utils.d.ts +7 -0
- package/lib/typescript/commonjs/utils/reservation.utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/status-badge.utils.d.ts +15 -0
- package/lib/typescript/commonjs/utils/status-badge.utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/theme.utils.d.ts +3 -0
- package/lib/typescript/commonjs/utils/theme.utils.d.ts.map +1 -1
- package/lib/typescript/commonjs/web.d.ts +11 -1
- package/lib/typescript/commonjs/web.d.ts.map +1 -1
- package/lib/typescript/module/features/chat/components/common/calendar-icon.d.ts +6 -0
- package/lib/typescript/module/features/chat/components/common/calendar-icon.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/common/calendar-icon.native.d.ts +6 -0
- package/lib/typescript/module/features/chat/components/common/calendar-icon.native.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/common/cart-icon.d.ts +6 -0
- package/lib/typescript/module/features/chat/components/common/cart-icon.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/common/chevron-icon.d.ts +6 -0
- package/lib/typescript/module/features/chat/components/common/chevron-icon.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/common/chevron-icon.native.d.ts +6 -0
- package/lib/typescript/module/features/chat/components/common/chevron-icon.native.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/common/plane-icon.d.ts +6 -0
- package/lib/typescript/module/features/chat/components/common/plane-icon.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/common/plane-icon.native.d.ts +6 -0
- package/lib/typescript/module/features/chat/components/common/plane-icon.native.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight/flight-card.d.ts +12 -0
- package/lib/typescript/module/features/chat/components/flight/flight-card.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight/flight-card.native.d.ts +12 -0
- package/lib/typescript/module/features/chat/components/flight/flight-card.native.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight/flight.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/flight/flight.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight/flight.model.d.ts +19 -0
- package/lib/typescript/module/features/chat/components/flight/flight.model.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight/flight.native.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/flight/flight.native.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight/index.d.ts +3 -0
- package/lib/typescript/module/features/chat/components/flight/index.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight-board/flight-board.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/flight-board/flight-board.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight-board/flight-board.model.d.ts +22 -0
- package/lib/typescript/module/features/chat/components/flight-board/flight-board.model.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight-board/flight-board.native.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/flight-board/flight-board.native.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/flight-board/index.d.ts +3 -0
- package/lib/typescript/module/features/chat/components/flight-board/index.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/info/info.d.ts +1 -1
- package/lib/typescript/module/features/chat/components/info/info.d.ts.map +1 -1
- package/lib/typescript/module/features/chat/components/info/info.model.d.ts +3 -0
- package/lib/typescript/module/features/chat/components/info/info.model.d.ts.map +1 -1
- package/lib/typescript/module/features/chat/components/info/info.native.d.ts +1 -1
- package/lib/typescript/module/features/chat/components/info/info.native.d.ts.map +1 -1
- package/lib/typescript/module/features/chat/components/order/index.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/order/index.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/order/order.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/order/order.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/order/order.model.d.ts +30 -0
- package/lib/typescript/module/features/chat/components/order/order.model.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/order/order.native.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/order/order.native.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/reservation/index.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/reservation/index.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/reservation/reservation.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/reservation/reservation.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/reservation/reservation.model.d.ts +28 -0
- package/lib/typescript/module/features/chat/components/reservation/reservation.model.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/components/reservation/reservation.native.d.ts +4 -0
- package/lib/typescript/module/features/chat/components/reservation/reservation.native.d.ts.map +1 -0
- package/lib/typescript/module/features/chat/model/chat.model.d.ts +17 -2
- package/lib/typescript/module/features/chat/model/chat.model.d.ts.map +1 -1
- package/lib/typescript/module/features/chat/renderer/renderer.d.ts +5 -1
- package/lib/typescript/module/features/chat/renderer/renderer.d.ts.map +1 -1
- package/lib/typescript/module/features/chat/renderer/renderer.native.d.ts +5 -1
- package/lib/typescript/module/features/chat/renderer/renderer.native.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +11 -1
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/module/utils/flight.utils.d.ts +10 -0
- package/lib/typescript/module/utils/flight.utils.d.ts.map +1 -0
- package/lib/typescript/module/utils/order.utils.d.ts +7 -0
- package/lib/typescript/module/utils/order.utils.d.ts.map +1 -0
- package/lib/typescript/module/utils/reservation.utils.d.ts +7 -0
- package/lib/typescript/module/utils/reservation.utils.d.ts.map +1 -0
- package/lib/typescript/module/utils/status-badge.utils.d.ts +15 -0
- package/lib/typescript/module/utils/status-badge.utils.d.ts.map +1 -0
- package/lib/typescript/module/utils/theme.utils.d.ts +3 -0
- package/lib/typescript/module/utils/theme.utils.d.ts.map +1 -1
- package/lib/typescript/module/web.d.ts +11 -1
- package/lib/typescript/module/web.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/chat/components/common/calendar-icon.native.tsx +13 -0
- package/src/features/chat/components/common/calendar-icon.tsx +13 -0
- package/src/features/chat/components/common/cart-icon.tsx +20 -0
- package/src/features/chat/components/common/chevron-icon.native.tsx +18 -0
- package/src/features/chat/components/common/chevron-icon.tsx +18 -0
- package/src/features/chat/components/common/plane-icon.native.tsx +15 -0
- package/src/features/chat/components/common/plane-icon.tsx +15 -0
- package/src/features/chat/components/flight/flight-card.native.tsx +100 -0
- package/src/features/chat/components/flight/flight-card.tsx +100 -0
- package/src/features/chat/components/flight/flight.model.ts +20 -0
- package/src/features/chat/components/flight/flight.native.tsx +131 -0
- package/src/features/chat/components/flight/flight.tsx +131 -0
- package/src/features/chat/components/flight/index.ts +2 -0
- package/src/features/chat/components/flight-board/flight-board.model.ts +23 -0
- package/src/features/chat/components/flight-board/flight-board.native.tsx +155 -0
- package/src/features/chat/components/flight-board/flight-board.tsx +160 -0
- package/src/features/chat/components/flight-board/index.ts +2 -0
- package/src/features/chat/components/info/info.model.ts +3 -0
- package/src/features/chat/components/info/info.native.tsx +47 -11
- package/src/features/chat/components/info/info.tsx +43 -10
- package/src/features/chat/components/order/index.ts +3 -0
- package/src/features/chat/components/order/order.model.ts +32 -0
- package/src/features/chat/components/order/order.native.tsx +172 -0
- package/src/features/chat/components/order/order.tsx +173 -0
- package/src/features/chat/components/reservation/index.ts +3 -0
- package/src/features/chat/components/reservation/reservation.model.ts +30 -0
- package/src/features/chat/components/reservation/reservation.native.tsx +160 -0
- package/src/features/chat/components/reservation/reservation.tsx +162 -0
- package/src/features/chat/model/chat.model.ts +16 -0
- package/src/features/chat/renderer/renderer.native.tsx +29 -1
- package/src/features/chat/renderer/renderer.tsx +29 -1
- package/src/native.ts +11 -1
- package/src/utils/flight.utils.ts +35 -0
- package/src/utils/order.utils.ts +28 -0
- package/src/utils/reservation.utils.ts +23 -0
- package/src/utils/status-badge.utils.ts +36 -0
- package/src/utils/theme.utils.ts +9 -0
- package/src/web.ts +11 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { Pressable, Text, View } from 'react-native';
|
|
5
|
+
import { getThemeClasses } from "../../../../utils/theme.utils.js";
|
|
6
|
+
import { getFlightStatusStyle } from "../../../../utils/flight.utils.js";
|
|
7
|
+
import { resolveText } from "../../../../utils/i18n.utils.js";
|
|
8
|
+
import { Collapsible } from "../common/collapsible.native.js";
|
|
9
|
+
import { PlaneIcon } from "../common/plane-icon.native.js";
|
|
10
|
+
import { ChevronIcon } from "../common/chevron-icon.native.js";
|
|
11
|
+
import { FlightStatus, Theme } from "../../model/chat.model.js";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
function FlightCard({
|
|
14
|
+
item,
|
|
15
|
+
theme,
|
|
16
|
+
language,
|
|
17
|
+
accent,
|
|
18
|
+
defaultExpanded,
|
|
19
|
+
onSelect
|
|
20
|
+
}) {
|
|
21
|
+
const c = getThemeClasses(theme);
|
|
22
|
+
const [expanded, setExpanded] = useState(defaultExpanded);
|
|
23
|
+
const s = getFlightStatusStyle(item.status ?? FlightStatus.OnTime, theme);
|
|
24
|
+
const statusLabel = item.statusLabel ? resolveText(item.statusLabel, language) : s.label;
|
|
25
|
+
const airline = resolveText(item.airline, language);
|
|
26
|
+
const fromCity = resolveText(item.from.city, language);
|
|
27
|
+
const toCity = resolveText(item.to.city, language);
|
|
28
|
+
const subline = item.date ? `${resolveText(item.date, language)}${item.terminal ? ` · ${resolveText(item.terminal, language)}` : ''}` : '';
|
|
29
|
+
const compact = `${item.from.code} → ${item.to.code} · ${item.from.time}`;
|
|
30
|
+
const iconBg = accent ? c.iconBg : c.mutedIconBg;
|
|
31
|
+
const iconColor = accent ? c.iconColor : c.mutedIconColor;
|
|
32
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
33
|
+
className: `rounded-2xl border p-3 ${c.surface} ${c.border}`,
|
|
34
|
+
children: [/*#__PURE__*/_jsxs(Pressable, {
|
|
35
|
+
className: "flex-row items-center gap-3",
|
|
36
|
+
onPress: () => {
|
|
37
|
+
setExpanded(v => !v);
|
|
38
|
+
onSelect?.(item);
|
|
39
|
+
},
|
|
40
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
41
|
+
className: `h-11 w-11 items-center justify-center rounded-xl ${iconBg}`,
|
|
42
|
+
children: /*#__PURE__*/_jsx(PlaneIcon, {
|
|
43
|
+
size: 20,
|
|
44
|
+
color: iconColor
|
|
45
|
+
})
|
|
46
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
47
|
+
className: "flex-1 gap-0.5",
|
|
48
|
+
children: [/*#__PURE__*/_jsxs(Text, {
|
|
49
|
+
className: `text-base font-bold down-sm:text-sm ${c.title}`,
|
|
50
|
+
numberOfLines: 2,
|
|
51
|
+
children: [airline, " \xB7 ", item.flightNumber]
|
|
52
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
53
|
+
className: `text-xs ${c.subtitle}`,
|
|
54
|
+
numberOfLines: 1,
|
|
55
|
+
children: expanded ? subline || compact : compact
|
|
56
|
+
})]
|
|
57
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
58
|
+
className: `flex-row items-center gap-1.5 rounded-full px-2.5 py-1 ${s.badgeBg}`,
|
|
59
|
+
children: [s.showDot ? /*#__PURE__*/_jsx(View, {
|
|
60
|
+
className: `h-1.5 w-1.5 rounded-full ${s.dot}`
|
|
61
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
62
|
+
className: `text-xs font-semibold ${s.badgeText}`,
|
|
63
|
+
children: statusLabel
|
|
64
|
+
})]
|
|
65
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
66
|
+
className: expanded ? 'rotate-180' : undefined,
|
|
67
|
+
children: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
68
|
+
size: 18,
|
|
69
|
+
color: c.mutedIconColor
|
|
70
|
+
})
|
|
71
|
+
})]
|
|
72
|
+
}), /*#__PURE__*/_jsx(Collapsible, {
|
|
73
|
+
expanded: expanded,
|
|
74
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
75
|
+
className: "mt-4 flex-row items-center",
|
|
76
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
77
|
+
className: "items-start",
|
|
78
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
79
|
+
className: `text-3xl font-bold down-sm:text-2xl ${c.title}`,
|
|
80
|
+
children: item.from.code
|
|
81
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
82
|
+
className: `text-base font-semibold ${c.title}`,
|
|
83
|
+
children: item.from.time
|
|
84
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
85
|
+
className: `text-xs ${c.subtitle}`,
|
|
86
|
+
children: fromCity
|
|
87
|
+
})]
|
|
88
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
89
|
+
className: "flex-1 items-center px-3",
|
|
90
|
+
children: [item.duration ? /*#__PURE__*/_jsx(Text, {
|
|
91
|
+
className: `mb-1 text-xs ${c.subtitle}`,
|
|
92
|
+
children: item.duration
|
|
93
|
+
}) : null, /*#__PURE__*/_jsxs(View, {
|
|
94
|
+
className: "w-full flex-row items-center",
|
|
95
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
96
|
+
className: `h-2 w-2 rounded-full ${s.dot}`
|
|
97
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
98
|
+
className: `flex-1 border-t border-dashed ${c.dashLine}`
|
|
99
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
100
|
+
className: "rotate-90",
|
|
101
|
+
children: /*#__PURE__*/_jsx(PlaneIcon, {
|
|
102
|
+
size: 16,
|
|
103
|
+
color: c.iconColor
|
|
104
|
+
})
|
|
105
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
106
|
+
className: `flex-1 border-t border-dashed ${c.dashLine}`
|
|
107
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
108
|
+
className: `h-2 w-2 rounded-full ${s.dot}`
|
|
109
|
+
})]
|
|
110
|
+
})]
|
|
111
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
112
|
+
className: "items-end",
|
|
113
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
114
|
+
className: `text-3xl font-bold down-sm:text-2xl ${c.title}`,
|
|
115
|
+
children: item.to.code
|
|
116
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
117
|
+
className: `text-base font-semibold ${c.title}`,
|
|
118
|
+
children: item.to.time
|
|
119
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
120
|
+
className: `text-xs ${c.subtitle}`,
|
|
121
|
+
children: toCity
|
|
122
|
+
})]
|
|
123
|
+
})]
|
|
124
|
+
})
|
|
125
|
+
})]
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
export function Flight({
|
|
129
|
+
data,
|
|
130
|
+
theme = Theme.Dark,
|
|
131
|
+
language,
|
|
132
|
+
onSelect
|
|
133
|
+
}) {
|
|
134
|
+
const items = Array.isArray(data) ? data : [data];
|
|
135
|
+
return /*#__PURE__*/_jsx(View, {
|
|
136
|
+
className: "gap-3",
|
|
137
|
+
children: items.map((item, index) => /*#__PURE__*/_jsx(FlightCard, {
|
|
138
|
+
item: item,
|
|
139
|
+
theme: theme,
|
|
140
|
+
language: language,
|
|
141
|
+
accent: index === 0,
|
|
142
|
+
defaultExpanded: index === 0,
|
|
143
|
+
onSelect: onSelect
|
|
144
|
+
}, item.id))
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=flight.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","Pressable","Text","View","getThemeClasses","getFlightStatusStyle","resolveText","Collapsible","PlaneIcon","ChevronIcon","FlightStatus","Theme","jsx","_jsx","jsxs","_jsxs","FlightCard","item","theme","language","accent","defaultExpanded","onSelect","c","expanded","setExpanded","s","status","OnTime","statusLabel","label","airline","fromCity","from","city","toCity","to","subline","date","terminal","compact","code","time","iconBg","mutedIconBg","iconColor","mutedIconColor","className","surface","border","children","onPress","v","size","color","title","numberOfLines","flightNumber","subtitle","badgeBg","showDot","dot","badgeText","undefined","duration","dashLine","Flight","data","Dark","items","Array","isArray","map","index","id"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/flight/flight.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Flight"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/flight/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Fragment, useState } from 'react';
|
|
4
|
+
import { getThemeClasses } from "../../../../utils/theme.utils.js";
|
|
5
|
+
import { getFlightStatusStyle } from "../../../../utils/flight.utils.js";
|
|
6
|
+
import { resolveText } from "../../../../utils/i18n.utils.js";
|
|
7
|
+
import { useExpandableList } from "../../../../utils/use-expandable-list.js";
|
|
8
|
+
import { Collapsible } from '../common/collapsible';
|
|
9
|
+
import { PlaneIcon } from '../common/plane-icon';
|
|
10
|
+
import { ChevronIcon } from '../common/chevron-icon';
|
|
11
|
+
import { FlightStatus, Theme } from "../../model/chat.model.js";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
const BOARD_COLLAPSED_COUNT = 5;
|
|
14
|
+
export function FlightBoard({
|
|
15
|
+
data,
|
|
16
|
+
theme = Theme.Dark,
|
|
17
|
+
language,
|
|
18
|
+
onSelect
|
|
19
|
+
}) {
|
|
20
|
+
const c = getThemeClasses(theme);
|
|
21
|
+
const board = Array.isArray(data) ? data[0] : data;
|
|
22
|
+
const [tab, setTab] = useState('departures');
|
|
23
|
+
const onSelectRow = onSelect;
|
|
24
|
+
const arrivals = board?.arrivals ?? [];
|
|
25
|
+
const hasArrivals = arrivals.length > 0;
|
|
26
|
+
const rows = tab === 'arrivals' ? arrivals : board?.departures ?? [];
|
|
27
|
+
const {
|
|
28
|
+
head,
|
|
29
|
+
rest,
|
|
30
|
+
expanded,
|
|
31
|
+
hasMore,
|
|
32
|
+
toggle
|
|
33
|
+
} = useExpandableList(rows, BOARD_COLLAPSED_COUNT);
|
|
34
|
+
if (!board) return null;
|
|
35
|
+
const airport = resolveText(board.airport, language);
|
|
36
|
+
const noun = tab === 'arrivals' ? 'arrivals' : 'departures';
|
|
37
|
+
const renderRow = row => {
|
|
38
|
+
const s = getFlightStatusStyle(row.status ?? FlightStatus.OnTime, theme);
|
|
39
|
+
const statusLabel = row.statusLabel ? resolveText(row.statusLabel, language) : s.label;
|
|
40
|
+
const city = resolveText(row.city, language);
|
|
41
|
+
const airline = resolveText(row.airline, language);
|
|
42
|
+
return /*#__PURE__*/_jsxs("button", {
|
|
43
|
+
type: "button",
|
|
44
|
+
className: "flex w-full items-center gap-2 py-2.5 text-left",
|
|
45
|
+
onClick: () => onSelectRow?.(row),
|
|
46
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
47
|
+
className: `w-12 shrink-0 text-sm font-bold ${c.title}`,
|
|
48
|
+
children: row.time
|
|
49
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
50
|
+
className: "flex min-w-0 flex-1 items-center gap-2",
|
|
51
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
52
|
+
className: "h-2 w-2 shrink-0 rounded-full",
|
|
53
|
+
style: {
|
|
54
|
+
backgroundColor: row.accent ?? c.iconColor
|
|
55
|
+
}
|
|
56
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
57
|
+
className: "flex min-w-0 flex-1 flex-col",
|
|
58
|
+
children: [/*#__PURE__*/_jsxs("span", {
|
|
59
|
+
className: `truncate text-sm font-semibold ${c.title}`,
|
|
60
|
+
children: [city, " \xB7 ", row.code]
|
|
61
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
62
|
+
className: `truncate text-xs ${c.subtitle}`,
|
|
63
|
+
children: [airline, " \xB7 ", row.flightNumber]
|
|
64
|
+
})]
|
|
65
|
+
})]
|
|
66
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
67
|
+
className: `w-10 shrink-0 text-center text-sm font-semibold ${c.title}`,
|
|
68
|
+
children: row.gate ?? '—'
|
|
69
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
70
|
+
className: `shrink-0 rounded-full px-2 py-1 text-xs font-semibold ${s.badgeBg} ${s.badgeText}`,
|
|
71
|
+
children: statusLabel
|
|
72
|
+
})]
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
76
|
+
className: `rounded-2xl border p-3 ${c.surface} ${c.border}`,
|
|
77
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
78
|
+
className: "flex items-center gap-3",
|
|
79
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
80
|
+
className: `flex h-11 w-11 shrink-0 items-center justify-center rounded-xl ${c.iconBg}`,
|
|
81
|
+
children: /*#__PURE__*/_jsx(PlaneIcon, {
|
|
82
|
+
size: 20,
|
|
83
|
+
color: c.iconColor
|
|
84
|
+
})
|
|
85
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
86
|
+
className: "flex min-w-0 flex-1 flex-col",
|
|
87
|
+
children: [/*#__PURE__*/_jsxs("span", {
|
|
88
|
+
className: `truncate text-base font-bold ${c.title}`,
|
|
89
|
+
children: [airport, " \xB7 ", board.code]
|
|
90
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
91
|
+
className: "flex items-center gap-1.5",
|
|
92
|
+
children: [board.live ? /*#__PURE__*/_jsx("span", {
|
|
93
|
+
className: "h-1.5 w-1.5 rounded-full bg-emerald-400"
|
|
94
|
+
}) : null, /*#__PURE__*/_jsxs("span", {
|
|
95
|
+
className: `truncate text-xs ${c.subtitle}`,
|
|
96
|
+
children: [board.live ? 'Live' : 'Schedule', board.updatedAt ? ` · updated ${board.updatedAt}` : '']
|
|
97
|
+
})]
|
|
98
|
+
})]
|
|
99
|
+
}), hasArrivals ? /*#__PURE__*/_jsx("div", {
|
|
100
|
+
className: "flex shrink-0 rounded-full bg-black/20 p-0.5",
|
|
101
|
+
children: ['departures', 'arrivals'].map(t => /*#__PURE__*/_jsx("button", {
|
|
102
|
+
type: "button",
|
|
103
|
+
onClick: () => setTab(t),
|
|
104
|
+
className: `rounded-full px-3 py-1 text-xs font-semibold ${tab === t ? 'bg-indigo-500 text-white' : c.subtitle}`,
|
|
105
|
+
children: t === 'arrivals' ? 'Arrivals' : 'Departures'
|
|
106
|
+
}, t))
|
|
107
|
+
}) : null]
|
|
108
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
109
|
+
className: `my-3 h-px ${c.divider}`
|
|
110
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
111
|
+
className: "flex items-center gap-2 pb-1",
|
|
112
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
113
|
+
className: `w-12 shrink-0 text-[10px] font-semibold uppercase tracking-wide ${c.subtitle}`,
|
|
114
|
+
children: "Time"
|
|
115
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
116
|
+
className: `flex-1 text-[10px] font-semibold uppercase tracking-wide ${c.subtitle}`,
|
|
117
|
+
children: "Flight \xB7 Destination"
|
|
118
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
119
|
+
className: `w-10 shrink-0 text-center text-[10px] font-semibold uppercase tracking-wide ${c.subtitle}`,
|
|
120
|
+
children: "Gate"
|
|
121
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
122
|
+
className: `text-[10px] font-semibold uppercase tracking-wide ${c.subtitle}`,
|
|
123
|
+
children: "Status"
|
|
124
|
+
})]
|
|
125
|
+
}), head.map((row, index) => /*#__PURE__*/_jsxs(Fragment, {
|
|
126
|
+
children: [index > 0 ? /*#__PURE__*/_jsx("div", {
|
|
127
|
+
className: `h-px ${c.divider}`
|
|
128
|
+
}) : null, renderRow(row)]
|
|
129
|
+
}, row.id)), hasMore ? /*#__PURE__*/_jsx(Collapsible, {
|
|
130
|
+
expanded: expanded,
|
|
131
|
+
children: rest.map(row => /*#__PURE__*/_jsxs(Fragment, {
|
|
132
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
133
|
+
className: `h-px ${c.divider}`
|
|
134
|
+
}), renderRow(row)]
|
|
135
|
+
}, row.id))
|
|
136
|
+
}) : null, hasMore ? /*#__PURE__*/_jsxs("button", {
|
|
137
|
+
type: "button",
|
|
138
|
+
onClick: toggle,
|
|
139
|
+
className: `mt-2 flex w-full items-center justify-center gap-1.5 rounded-xl border py-2 text-sm font-medium ${c.actionBorder} ${c.actionText}`,
|
|
140
|
+
children: [expanded ? 'Show less' : `View all ${noun}`, /*#__PURE__*/_jsx("span", {
|
|
141
|
+
className: `transition-transform ${expanded ? 'rotate-180' : ''}`,
|
|
142
|
+
children: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
143
|
+
size: 16,
|
|
144
|
+
color: c.mutedIconColor
|
|
145
|
+
})
|
|
146
|
+
})]
|
|
147
|
+
}) : null]
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=flight-board.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Fragment","useState","getThemeClasses","getFlightStatusStyle","resolveText","useExpandableList","Collapsible","PlaneIcon","ChevronIcon","FlightStatus","Theme","jsx","_jsx","jsxs","_jsxs","BOARD_COLLAPSED_COUNT","FlightBoard","data","theme","Dark","language","onSelect","c","board","Array","isArray","tab","setTab","onSelectRow","arrivals","hasArrivals","length","rows","departures","head","rest","expanded","hasMore","toggle","airport","noun","renderRow","row","s","status","OnTime","statusLabel","label","city","airline","type","className","onClick","children","title","time","style","backgroundColor","accent","iconColor","code","subtitle","flightNumber","gate","badgeBg","badgeText","surface","border","iconBg","size","color","live","updatedAt","map","t","divider","index","id","actionBorder","actionText","mutedIconColor"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/flight-board/flight-board.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["features/chat/components/flight-board/flight-board.model.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Fragment, useState } from 'react';
|
|
4
|
+
import { Pressable, Text, View } from 'react-native';
|
|
5
|
+
import { getThemeClasses } from "../../../../utils/theme.utils.js";
|
|
6
|
+
import { getFlightStatusStyle } from "../../../../utils/flight.utils.js";
|
|
7
|
+
import { resolveText } from "../../../../utils/i18n.utils.js";
|
|
8
|
+
import { useExpandableList } from "../../../../utils/use-expandable-list.js";
|
|
9
|
+
import { Collapsible } from "../common/collapsible.native.js";
|
|
10
|
+
import { PlaneIcon } from "../common/plane-icon.native.js";
|
|
11
|
+
import { ChevronIcon } from "../common/chevron-icon.native.js";
|
|
12
|
+
import { FlightStatus, Theme } from "../../model/chat.model.js";
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
const BOARD_COLLAPSED_COUNT = 5;
|
|
15
|
+
export function FlightBoard({
|
|
16
|
+
data,
|
|
17
|
+
theme = Theme.Dark,
|
|
18
|
+
language,
|
|
19
|
+
onSelect
|
|
20
|
+
}) {
|
|
21
|
+
const c = getThemeClasses(theme);
|
|
22
|
+
const board = Array.isArray(data) ? data[0] : data;
|
|
23
|
+
const [tab, setTab] = useState('departures');
|
|
24
|
+
const onSelectRow = onSelect;
|
|
25
|
+
const arrivals = board?.arrivals ?? [];
|
|
26
|
+
const hasArrivals = arrivals.length > 0;
|
|
27
|
+
const rows = tab === 'arrivals' ? arrivals : board?.departures ?? [];
|
|
28
|
+
const {
|
|
29
|
+
head,
|
|
30
|
+
rest,
|
|
31
|
+
expanded,
|
|
32
|
+
hasMore,
|
|
33
|
+
toggle
|
|
34
|
+
} = useExpandableList(rows, BOARD_COLLAPSED_COUNT);
|
|
35
|
+
if (!board) return null;
|
|
36
|
+
const airport = resolveText(board.airport, language);
|
|
37
|
+
const noun = tab === 'arrivals' ? 'arrivals' : 'departures';
|
|
38
|
+
const renderRow = row => {
|
|
39
|
+
const s = getFlightStatusStyle(row.status ?? FlightStatus.OnTime, theme);
|
|
40
|
+
const statusLabel = row.statusLabel ? resolveText(row.statusLabel, language) : s.label;
|
|
41
|
+
const city = resolveText(row.city, language);
|
|
42
|
+
const airline = resolveText(row.airline, language);
|
|
43
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
44
|
+
className: "flex-row items-center gap-2 py-2.5",
|
|
45
|
+
onPress: () => onSelectRow?.(row),
|
|
46
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
47
|
+
className: `w-12 text-sm font-bold ${c.title}`,
|
|
48
|
+
children: row.time
|
|
49
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
50
|
+
className: "flex-1 flex-row items-center gap-2",
|
|
51
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
52
|
+
className: "h-2 w-2 rounded-full",
|
|
53
|
+
style: {
|
|
54
|
+
backgroundColor: row.accent ?? c.iconColor
|
|
55
|
+
}
|
|
56
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
57
|
+
className: "flex-1",
|
|
58
|
+
children: [/*#__PURE__*/_jsxs(Text, {
|
|
59
|
+
className: `text-sm font-semibold ${c.title}`,
|
|
60
|
+
numberOfLines: 1,
|
|
61
|
+
children: [city, " \xB7 ", row.code]
|
|
62
|
+
}), /*#__PURE__*/_jsxs(Text, {
|
|
63
|
+
className: `text-xs ${c.subtitle}`,
|
|
64
|
+
numberOfLines: 1,
|
|
65
|
+
children: [airline, " \xB7 ", row.flightNumber]
|
|
66
|
+
})]
|
|
67
|
+
})]
|
|
68
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
69
|
+
className: `w-10 text-center text-sm font-semibold ${c.title}`,
|
|
70
|
+
children: row.gate ?? '—'
|
|
71
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
72
|
+
className: `items-end rounded-full px-2 py-1 ${s.badgeBg}`,
|
|
73
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
74
|
+
className: `text-xs font-semibold ${s.badgeText}`,
|
|
75
|
+
children: statusLabel
|
|
76
|
+
})
|
|
77
|
+
})]
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
81
|
+
className: `rounded-2xl border p-3 ${c.surface} ${c.border}`,
|
|
82
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
83
|
+
className: "flex-row items-center gap-3",
|
|
84
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
85
|
+
className: `h-11 w-11 items-center justify-center rounded-xl ${c.iconBg}`,
|
|
86
|
+
children: /*#__PURE__*/_jsx(PlaneIcon, {
|
|
87
|
+
size: 20,
|
|
88
|
+
color: c.iconColor
|
|
89
|
+
})
|
|
90
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
91
|
+
className: "flex-1",
|
|
92
|
+
children: [/*#__PURE__*/_jsxs(Text, {
|
|
93
|
+
className: `text-base font-bold ${c.title}`,
|
|
94
|
+
numberOfLines: 1,
|
|
95
|
+
children: [airport, " \xB7 ", board.code]
|
|
96
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
97
|
+
className: "flex-row items-center gap-1.5",
|
|
98
|
+
children: [board.live ? /*#__PURE__*/_jsx(View, {
|
|
99
|
+
className: "h-1.5 w-1.5 rounded-full bg-emerald-400"
|
|
100
|
+
}) : null, /*#__PURE__*/_jsxs(Text, {
|
|
101
|
+
className: `text-xs ${c.subtitle}`,
|
|
102
|
+
numberOfLines: 1,
|
|
103
|
+
children: [board.live ? 'Live' : 'Schedule', board.updatedAt ? ` · updated ${board.updatedAt}` : '']
|
|
104
|
+
})]
|
|
105
|
+
})]
|
|
106
|
+
}), hasArrivals ? /*#__PURE__*/_jsx(View, {
|
|
107
|
+
className: "flex-row rounded-full bg-black/20 p-0.5",
|
|
108
|
+
children: ['departures', 'arrivals'].map(t => /*#__PURE__*/_jsx(Pressable, {
|
|
109
|
+
onPress: () => setTab(t),
|
|
110
|
+
className: `rounded-full px-3 py-1 ${tab === t ? 'bg-indigo-500' : ''}`,
|
|
111
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
112
|
+
className: `text-xs font-semibold ${tab === t ? 'text-white' : c.subtitle}`,
|
|
113
|
+
children: t === 'arrivals' ? 'Arrivals' : 'Departures'
|
|
114
|
+
})
|
|
115
|
+
}, t))
|
|
116
|
+
}) : null]
|
|
117
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
118
|
+
className: `my-3 h-px ${c.divider}`
|
|
119
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
120
|
+
className: "flex-row items-center gap-2 pb-1",
|
|
121
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
122
|
+
className: `w-12 text-[10px] font-semibold uppercase tracking-wide ${c.subtitle}`,
|
|
123
|
+
children: "Time"
|
|
124
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
125
|
+
className: `flex-1 text-[10px] font-semibold uppercase tracking-wide ${c.subtitle}`,
|
|
126
|
+
children: "Flight \xB7 Destination"
|
|
127
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
128
|
+
className: `w-10 text-center text-[10px] font-semibold uppercase tracking-wide ${c.subtitle}`,
|
|
129
|
+
children: "Gate"
|
|
130
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
131
|
+
className: `text-[10px] font-semibold uppercase tracking-wide ${c.subtitle}`,
|
|
132
|
+
children: "Status"
|
|
133
|
+
})]
|
|
134
|
+
}), head.map((row, index) => /*#__PURE__*/_jsxs(Fragment, {
|
|
135
|
+
children: [index > 0 ? /*#__PURE__*/_jsx(View, {
|
|
136
|
+
className: `h-px ${c.divider}`
|
|
137
|
+
}) : null, renderRow(row)]
|
|
138
|
+
}, row.id)), hasMore ? /*#__PURE__*/_jsx(Collapsible, {
|
|
139
|
+
expanded: expanded,
|
|
140
|
+
children: rest.map(row => /*#__PURE__*/_jsxs(Fragment, {
|
|
141
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
142
|
+
className: `h-px ${c.divider}`
|
|
143
|
+
}), renderRow(row)]
|
|
144
|
+
}, row.id))
|
|
145
|
+
}) : null, hasMore ? /*#__PURE__*/_jsxs(Pressable, {
|
|
146
|
+
onPress: toggle,
|
|
147
|
+
className: `mt-2 flex-row items-center justify-center gap-1.5 rounded-xl border py-2 ${c.actionBorder}`,
|
|
148
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
149
|
+
className: `text-sm font-medium ${c.actionText}`,
|
|
150
|
+
children: expanded ? 'Show less' : `View all ${noun}`
|
|
151
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
152
|
+
className: expanded ? 'rotate-180' : undefined,
|
|
153
|
+
children: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
154
|
+
size: 16,
|
|
155
|
+
color: c.mutedIconColor
|
|
156
|
+
})
|
|
157
|
+
})]
|
|
158
|
+
}) : null]
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=flight-board.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Fragment","useState","Pressable","Text","View","getThemeClasses","getFlightStatusStyle","resolveText","useExpandableList","Collapsible","PlaneIcon","ChevronIcon","FlightStatus","Theme","jsx","_jsx","jsxs","_jsxs","BOARD_COLLAPSED_COUNT","FlightBoard","data","theme","Dark","language","onSelect","c","board","Array","isArray","tab","setTab","onSelectRow","arrivals","hasArrivals","length","rows","departures","head","rest","expanded","hasMore","toggle","airport","noun","renderRow","row","s","status","OnTime","statusLabel","label","city","airline","className","onPress","children","title","time","style","backgroundColor","accent","iconColor","numberOfLines","code","subtitle","flightNumber","gate","badgeBg","badgeText","surface","border","iconBg","size","color","live","updatedAt","map","t","divider","index","id","actionBorder","actionText","undefined","mutedIconColor"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/flight-board/flight-board.native.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,QAAQ,QAAQ,OAAO;AAC1C,SAASC,SAAS,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACpD,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,oBAAoB,QAAQ,mCAAgC;AACrE,SAASC,WAAW,QAAQ,iCAA8B;AAC1D,SAASC,iBAAiB,QAAQ,0CAAuC;AACzE,SAASC,WAAW,QAAQ,iCAA8B;AAC1D,SAASC,SAAS,QAAQ,gCAA6B;AACvD,SAASC,WAAW,QAAQ,kCAA+B;AAC3D,SAASC,YAAY,EAAEC,KAAK,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAI7D,MAAMC,qBAAqB,GAAG,CAAC;AAG/B,OAAO,SAASC,WAAWA,CAAC;EAC1BC,IAAI;EACJC,KAAK,GAAGR,KAAK,CAACS,IAAI;EAClBC,QAAQ;EACRC;AACmC,CAAC,EAAE;EACtC,MAAMC,CAAC,GAAGpB,eAAe,CAACgB,KAAK,CAAC;EAChC,MAAMK,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACR,IAAI,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI;EAClD,MAAM,CAACS,GAAG,EAAEC,MAAM,CAAC,GAAG7B,QAAQ,CAAM,YAAY,CAAC;EACjD,MAAM8B,WAAW,GAAGP,QAAkD;EAEtE,MAAMQ,QAAQ,GAAGN,KAAK,EAAEM,QAAQ,IAAI,EAAE;EACtC,MAAMC,WAAW,GAAGD,QAAQ,CAACE,MAAM,GAAG,CAAC;EACvC,MAAMC,IAAI,GAAGN,GAAG,KAAK,UAAU,GAAGG,QAAQ,GAAGN,KAAK,EAAEU,UAAU,IAAI,EAAE;EACpE,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGjC,iBAAiB,CAAC2B,IAAI,EAAEjB,qBAAqB,CAAC;EAEhG,IAAI,CAACQ,KAAK,EAAE,OAAO,IAAI;EAEvB,MAAMgB,OAAO,GAAGnC,WAAW,CAACmB,KAAK,CAACgB,OAAO,EAAEnB,QAAQ,CAAC;EACpD,MAAMoB,IAAI,GAAGd,GAAG,KAAK,UAAU,GAAG,UAAU,GAAG,YAAY;EAE3D,MAAMe,SAAS,GAAIC,GAAc,IAAK;IACpC,MAAMC,CAAC,GAAGxC,oBAAoB,CAACuC,GAAG,CAACE,MAAM,IAAInC,YAAY,CAACoC,MAAM,EAAE3B,KAAK,CAAC;IACxE,MAAM4B,WAAW,GAAGJ,GAAG,CAACI,WAAW,GAAG1C,WAAW,CAACsC,GAAG,CAACI,WAAW,EAAE1B,QAAQ,CAAC,GAAGuB,CAAC,CAACI,KAAK;IACtF,MAAMC,IAAI,GAAG5C,WAAW,CAACsC,GAAG,CAACM,IAAI,EAAE5B,QAAQ,CAAC;IAC5C,MAAM6B,OAAO,GAAG7C,WAAW,CAACsC,GAAG,CAACO,OAAO,EAAE7B,QAAQ,CAAC;IAElD,oBACEN,KAAA,CAACf,SAAS;MAACmD,SAAS,EAAC,oCAAoC;MAACC,OAAO,EAAEA,CAAA,KAAMvB,WAAW,GAAGc,GAAG,CAAE;MAAAU,QAAA,gBAC1FxC,IAAA,CAACZ,IAAI;QAACkD,SAAS,EAAE,0BAA0B5B,CAAC,CAAC+B,KAAK,EAAG;QAAAD,QAAA,EAAEV,GAAG,CAACY;MAAI,CAAO,CAAC,eAEvExC,KAAA,CAACb,IAAI;QAACiD,SAAS,EAAC,oCAAoC;QAAAE,QAAA,gBAClDxC,IAAA,CAACX,IAAI;UACHiD,SAAS,EAAC,sBAAsB;UAChCK,KAAK,EAAE;YAAEC,eAAe,EAAEd,GAAG,CAACe,MAAM,IAAInC,CAAC,CAACoC;UAAU;QAAE,CACvD,CAAC,eACF5C,KAAA,CAACb,IAAI;UAACiD,SAAS,EAAC,QAAQ;UAAAE,QAAA,gBACtBtC,KAAA,CAACd,IAAI;YAACkD,SAAS,EAAE,yBAAyB5B,CAAC,CAAC+B,KAAK,EAAG;YAACM,aAAa,EAAE,CAAE;YAAAP,QAAA,GACnEJ,IAAI,EAAC,QAAG,EAACN,GAAG,CAACkB,IAAI;UAAA,CACd,CAAC,eACP9C,KAAA,CAACd,IAAI;YAACkD,SAAS,EAAE,WAAW5B,CAAC,CAACuC,QAAQ,EAAG;YAACF,aAAa,EAAE,CAAE;YAAAP,QAAA,GACxDH,OAAO,EAAC,QAAG,EAACP,GAAG,CAACoB,YAAY;UAAA,CACzB,CAAC;QAAA,CACH,CAAC;MAAA,CACH,CAAC,eAEPlD,IAAA,CAACZ,IAAI;QAACkD,SAAS,EAAE,0CAA0C5B,CAAC,CAAC+B,KAAK,EAAG;QAAAD,QAAA,EAAEV,GAAG,CAACqB,IAAI,IAAI;MAAG,CAAO,CAAC,eAE9FnD,IAAA,CAACX,IAAI;QAACiD,SAAS,EAAE,oCAAoCP,CAAC,CAACqB,OAAO,EAAG;QAAAZ,QAAA,eAC/DxC,IAAA,CAACZ,IAAI;UAACkD,SAAS,EAAE,yBAAyBP,CAAC,CAACsB,SAAS,EAAG;UAAAb,QAAA,EAAEN;QAAW,CAAO;MAAC,CACzE,CAAC;IAAA,CACE,CAAC;EAEhB,CAAC;EAED,oBACEhC,KAAA,CAACb,IAAI;IAACiD,SAAS,EAAE,0BAA0B5B,CAAC,CAAC4C,OAAO,IAAI5C,CAAC,CAAC6C,MAAM,EAAG;IAAAf,QAAA,gBACjEtC,KAAA,CAACb,IAAI;MAACiD,SAAS,EAAC,6BAA6B;MAAAE,QAAA,gBAC3CxC,IAAA,CAACX,IAAI;QAACiD,SAAS,EAAE,oDAAoD5B,CAAC,CAAC8C,MAAM,EAAG;QAAAhB,QAAA,eAC9ExC,IAAA,CAACL,SAAS;UAAC8D,IAAI,EAAE,EAAG;UAACC,KAAK,EAAEhD,CAAC,CAACoC;QAAU,CAAE;MAAC,CACvC,CAAC,eAEP5C,KAAA,CAACb,IAAI;QAACiD,SAAS,EAAC,QAAQ;QAAAE,QAAA,gBACtBtC,KAAA,CAACd,IAAI;UAACkD,SAAS,EAAE,uBAAuB5B,CAAC,CAAC+B,KAAK,EAAG;UAACM,aAAa,EAAE,CAAE;UAAAP,QAAA,GACjEb,OAAO,EAAC,QAAG,EAAChB,KAAK,CAACqC,IAAI;QAAA,CACnB,CAAC,eACP9C,KAAA,CAACb,IAAI;UAACiD,SAAS,EAAC,+BAA+B;UAAAE,QAAA,GAC5C7B,KAAK,CAACgD,IAAI,gBAAG3D,IAAA,CAACX,IAAI;YAACiD,SAAS,EAAC;UAAyC,CAAE,CAAC,GAAG,IAAI,eACjFpC,KAAA,CAACd,IAAI;YAACkD,SAAS,EAAE,WAAW5B,CAAC,CAACuC,QAAQ,EAAG;YAACF,aAAa,EAAE,CAAE;YAAAP,QAAA,GACxD7B,KAAK,CAACgD,IAAI,GAAG,MAAM,GAAG,UAAU,EAChChD,KAAK,CAACiD,SAAS,GAAG,cAAcjD,KAAK,CAACiD,SAAS,EAAE,GAAG,EAAE;UAAA,CACnD,CAAC;QAAA,CACH,CAAC;MAAA,CACH,CAAC,EAEN1C,WAAW,gBACVlB,IAAA,CAACX,IAAI;QAACiD,SAAS,EAAC,yCAAyC;QAAAE,QAAA,EACrD,CAAC,YAAY,EAAE,UAAU,CAAC,CAAWqB,GAAG,CAAEC,CAAC,iBAC3C9D,IAAA,CAACb,SAAS;UAERoD,OAAO,EAAEA,CAAA,KAAMxB,MAAM,CAAC+C,CAAC,CAAE;UACzBxB,SAAS,EAAE,0BAA0BxB,GAAG,KAAKgD,CAAC,GAAG,eAAe,GAAG,EAAE,EAAG;UAAAtB,QAAA,eAExExC,IAAA,CAACZ,IAAI;YAACkD,SAAS,EAAE,yBAAyBxB,GAAG,KAAKgD,CAAC,GAAG,YAAY,GAAGpD,CAAC,CAACuC,QAAQ,EAAG;YAAAT,QAAA,EAC/EsB,CAAC,KAAK,UAAU,GAAG,UAAU,GAAG;UAAY,CACzC;QAAC,GANFA,CAOI,CACZ;MAAC,CACE,CAAC,GACL,IAAI;IAAA,CACJ,CAAC,eAEP9D,IAAA,CAACX,IAAI;MAACiD,SAAS,EAAE,aAAa5B,CAAC,CAACqD,OAAO;IAAG,CAAE,CAAC,eAE7C7D,KAAA,CAACb,IAAI;MAACiD,SAAS,EAAC,kCAAkC;MAAAE,QAAA,gBAChDxC,IAAA,CAACZ,IAAI;QAACkD,SAAS,EAAE,0DAA0D5B,CAAC,CAACuC,QAAQ,EAAG;QAAAT,QAAA,EAAC;MAAI,CAAM,CAAC,eACpGxC,IAAA,CAACZ,IAAI;QAACkD,SAAS,EAAE,4DAA4D5B,CAAC,CAACuC,QAAQ,EAAG;QAAAT,QAAA,EAAC;MAE3F,CAAM,CAAC,eACPxC,IAAA,CAACZ,IAAI;QAACkD,SAAS,EAAE,sEAAsE5B,CAAC,CAACuC,QAAQ,EAAG;QAAAT,QAAA,EAAC;MAErG,CAAM,CAAC,eACPxC,IAAA,CAACZ,IAAI;QAACkD,SAAS,EAAE,qDAAqD5B,CAAC,CAACuC,QAAQ,EAAG;QAAAT,QAAA,EAAC;MAAM,CAAM,CAAC;IAAA,CAC7F,CAAC,EAENlB,IAAI,CAACuC,GAAG,CAAC,CAAC/B,GAAG,EAAEkC,KAAK,kBACnB9D,KAAA,CAACjB,QAAQ;MAAAuD,QAAA,GACNwB,KAAK,GAAG,CAAC,gBAAGhE,IAAA,CAACX,IAAI;QAACiD,SAAS,EAAE,QAAQ5B,CAAC,CAACqD,OAAO;MAAG,CAAE,CAAC,GAAG,IAAI,EAC3DlC,SAAS,CAACC,GAAG,CAAC;IAAA,GAFFA,GAAG,CAACmC,EAGT,CACX,CAAC,EAEDxC,OAAO,gBACNzB,IAAA,CAACN,WAAW;MAAC8B,QAAQ,EAAEA,QAAS;MAAAgB,QAAA,EAC7BjB,IAAI,CAACsC,GAAG,CAAE/B,GAAG,iBACZ5B,KAAA,CAACjB,QAAQ;QAAAuD,QAAA,gBACPxC,IAAA,CAACX,IAAI;UAACiD,SAAS,EAAE,QAAQ5B,CAAC,CAACqD,OAAO;QAAG,CAAE,CAAC,EACvClC,SAAS,CAACC,GAAG,CAAC;MAAA,GAFFA,GAAG,CAACmC,EAGT,CACX;IAAC,CACS,CAAC,GACZ,IAAI,EAEPxC,OAAO,gBACNvB,KAAA,CAACf,SAAS;MACRoD,OAAO,EAAEb,MAAO;MAChBY,SAAS,EAAE,4EAA4E5B,CAAC,CAACwD,YAAY,EAAG;MAAA1B,QAAA,gBAExGxC,IAAA,CAACZ,IAAI;QAACkD,SAAS,EAAE,uBAAuB5B,CAAC,CAACyD,UAAU,EAAG;QAAA3B,QAAA,EACpDhB,QAAQ,GAAG,WAAW,GAAG,YAAYI,IAAI;MAAE,CACxC,CAAC,eACP5B,IAAA,CAACX,IAAI;QAACiD,SAAS,EAAEd,QAAQ,GAAG,YAAY,GAAG4C,SAAU;QAAA5B,QAAA,eACnDxC,IAAA,CAACJ,WAAW;UAAC6D,IAAI,EAAE,EAAG;UAACC,KAAK,EAAEhD,CAAC,CAAC2D;QAAe,CAAE;MAAC,CAC9C,CAAC;IAAA,CACE,CAAC,GACV,IAAI;EAAA,CACJ,CAAC;AAEX","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FlightBoard"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/flight-board/index.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,gBAAgB","ignoreList":[]}
|
|
@@ -2,27 +2,54 @@
|
|
|
2
2
|
|
|
3
3
|
import { getThemeClasses } from "../../../../utils/theme.utils.js";
|
|
4
4
|
import { resolveText } from "../../../../utils/i18n.utils.js";
|
|
5
|
+
import { ChevronIcon } from '../common/chevron-icon';
|
|
5
6
|
import { Theme } from "../../model/chat.model.js";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
export function Info({
|
|
8
9
|
data,
|
|
9
10
|
theme = Theme.Dark,
|
|
10
|
-
language
|
|
11
|
+
language,
|
|
12
|
+
onSelect
|
|
11
13
|
}) {
|
|
12
14
|
const c = getThemeClasses(theme);
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
className: `
|
|
21
|
-
children:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
const items = Array.isArray(data) ? data : [data];
|
|
16
|
+
const renderCard = (item, index) => {
|
|
17
|
+
const name = resolveText(item.name, language);
|
|
18
|
+
const description = resolveText(item.description, language);
|
|
19
|
+
const kicker = item.kicker ? resolveText(item.kicker, language) : undefined;
|
|
20
|
+
const actionLabel = item.actionLabel ? resolveText(item.actionLabel, language) : undefined;
|
|
21
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
22
|
+
className: `overflow-hidden rounded-2xl border ${c.surface} ${c.border}`,
|
|
23
|
+
children: [item.image ? /*#__PURE__*/_jsx("img", {
|
|
24
|
+
src: item.image,
|
|
25
|
+
alt: name,
|
|
26
|
+
className: "h-32 w-full object-cover down-sm:h-24"
|
|
27
|
+
}) : null, /*#__PURE__*/_jsxs("div", {
|
|
28
|
+
className: "flex flex-col gap-2 p-4",
|
|
29
|
+
children: [kicker ? /*#__PURE__*/_jsx("span", {
|
|
30
|
+
className: `w-fit rounded-full border px-2.5 py-1 text-[10px] font-semibold uppercase tracking-wide ${c.actionBorder} ${c.iconText}`,
|
|
31
|
+
children: kicker
|
|
32
|
+
}) : null, /*#__PURE__*/_jsx("span", {
|
|
33
|
+
className: `text-base font-bold down-sm:text-sm ${c.title}`,
|
|
34
|
+
children: name
|
|
35
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
36
|
+
className: `text-sm leading-relaxed down-sm:text-xs ${c.subtitle}`,
|
|
37
|
+
children: description
|
|
38
|
+
}), actionLabel ? /*#__PURE__*/_jsxs("button", {
|
|
39
|
+
type: "button",
|
|
40
|
+
onClick: () => onSelect?.(item),
|
|
41
|
+
className: `mt-1 flex w-fit items-center gap-1 text-sm font-semibold ${c.iconText}`,
|
|
42
|
+
children: [actionLabel, /*#__PURE__*/_jsx(ChevronIcon, {
|
|
43
|
+
size: 14,
|
|
44
|
+
color: "currentColor"
|
|
45
|
+
})]
|
|
46
|
+
}) : null]
|
|
47
|
+
})]
|
|
48
|
+
}, index);
|
|
49
|
+
};
|
|
50
|
+
return /*#__PURE__*/_jsx("div", {
|
|
51
|
+
className: "flex flex-col gap-3",
|
|
52
|
+
children: items.map((item, index) => renderCard(item, index))
|
|
26
53
|
});
|
|
27
54
|
}
|
|
28
55
|
//# sourceMappingURL=info.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getThemeClasses","resolveText","Theme","jsx","_jsx","jsxs","_jsxs","Info","data","theme","Dark","language","c","
|
|
1
|
+
{"version":3,"names":["getThemeClasses","resolveText","ChevronIcon","Theme","jsx","_jsx","jsxs","_jsxs","Info","data","theme","Dark","language","onSelect","c","items","Array","isArray","renderCard","item","index","name","description","kicker","undefined","actionLabel","className","surface","border","children","image","src","alt","actionBorder","iconText","title","subtitle","type","onClick","size","color","map"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/info/info.tsx"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,WAAW,QAAQ,iCAA8B;AAC1D,SAASC,WAAW,QAAQ,wBAAwB;AACpD,SAASC,KAAK,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAI/C,OAAO,SAASC,IAAIA,CAAC;EAAEC,IAAI;EAAEC,KAAK,GAAGP,KAAK,CAACQ,IAAI;EAAEC,QAAQ;EAAEC;AAAuC,CAAC,EAAE;EACnG,MAAMC,CAAC,GAAGd,eAAe,CAACU,KAAK,CAAC;EAChC,MAAMK,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACR,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC;EAEjD,MAAMS,UAAU,GAAGA,CAACC,IAAc,EAAEC,KAAa,KAAK;IACpD,MAAMC,IAAI,GAAGpB,WAAW,CAACkB,IAAI,CAACE,IAAI,EAAET,QAAQ,CAAC;IAC7C,MAAMU,WAAW,GAAGrB,WAAW,CAACkB,IAAI,CAACG,WAAW,EAAEV,QAAQ,CAAC;IAC3D,MAAMW,MAAM,GAAGJ,IAAI,CAACI,MAAM,GAAGtB,WAAW,CAACkB,IAAI,CAACI,MAAM,EAAEX,QAAQ,CAAC,GAAGY,SAAS;IAC3E,MAAMC,WAAW,GAAGN,IAAI,CAACM,WAAW,GAAGxB,WAAW,CAACkB,IAAI,CAACM,WAAW,EAAEb,QAAQ,CAAC,GAAGY,SAAS;IAE1F,oBACEjB,KAAA;MAAiBmB,SAAS,EAAE,sCAAsCZ,CAAC,CAACa,OAAO,IAAIb,CAAC,CAACc,MAAM,EAAG;MAAAC,QAAA,GACvFV,IAAI,CAACW,KAAK,gBACTzB,IAAA;QAAK0B,GAAG,EAAEZ,IAAI,CAACW,KAAM;QAACE,GAAG,EAAEX,IAAK;QAACK,SAAS,EAAC;MAAuC,CAAE,CAAC,GACnF,IAAI,eAERnB,KAAA;QAAKmB,SAAS,EAAC,yBAAyB;QAAAG,QAAA,GACrCN,MAAM,gBACLlB,IAAA;UACEqB,SAAS,EAAE,2FAA2FZ,CAAC,CAACmB,YAAY,IAAInB,CAAC,CAACoB,QAAQ,EAAG;UAAAL,QAAA,EAEpIN;QAAM,CACH,CAAC,GACL,IAAI,eAERlB,IAAA;UAAMqB,SAAS,EAAE,uCAAuCZ,CAAC,CAACqB,KAAK,EAAG;UAAAN,QAAA,EAAER;QAAI,CAAO,CAAC,eAChFhB,IAAA;UAAMqB,SAAS,EAAE,2CAA2CZ,CAAC,CAACsB,QAAQ,EAAG;UAAAP,QAAA,EAAEP;QAAW,CAAO,CAAC,EAE7FG,WAAW,gBACVlB,KAAA;UACE8B,IAAI,EAAC,QAAQ;UACbC,OAAO,EAAEA,CAAA,KAAMzB,QAAQ,GAAGM,IAAI,CAAE;UAChCO,SAAS,EAAE,4DAA4DZ,CAAC,CAACoB,QAAQ,EAAG;UAAAL,QAAA,GAEnFJ,WAAW,eACZpB,IAAA,CAACH,WAAW;YAACqC,IAAI,EAAE,EAAG;YAACC,KAAK,EAAC;UAAc,CAAE,CAAC;QAAA,CACxC,CAAC,GACP,IAAI;MAAA,CACL,CAAC;IAAA,GA3BEpB,KA4BL,CAAC;EAEV,CAAC;EAED,oBACEf,IAAA;IAAKqB,SAAS,EAAC,qBAAqB;IAAAG,QAAA,EACjCd,KAAK,CAAC0B,GAAG,CAAC,CAACtB,IAAI,EAAEC,KAAK,KAAKF,UAAU,CAACC,IAAI,EAAEC,KAAK,CAAC;EAAC,CACjD,CAAC;AAEV","ignoreList":[]}
|